Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

SciPy

Python (Python 3) で数学をやるにはどうしたらいいか。その20. 組合せ。"3コードで世界を変えることができた時代があったなんて信じられないぜ!"

このシリーズの過去記事は以下にまとめてある py3math.hatenablog.com 当記事について 当ブログ筆者も、Python で数学をやるにはどうしたらいいか悩んでいた時期があるから、昔の自分に向けて書いたような記事。 対象とする読者 Python の入門書を一冊か二冊…

Python (Python 3) で数学をやるにはどうしたらいいか。その19. 順列。"俺を見つけたければいつだって列の最後にいるぜ!"

このシリーズの過去記事は以下にまとめてある py3math.hatenablog.com 当記事について 当ブログ筆者 (以下、筆者) も、Python で数学をやるにはどうしたらいいか悩んでいた時期があるから、昔の自分に向けて書いたような記事。 対象とする読者 Python の入門…

数値シミュレーション。自由落下。Free fall (Pyton 3, matplotlib, SciPy: scipy.constants, g, Seaborn: set())

使用するライブラリ matplotlib SciPy Seaborn Python 3 コード free_fall1.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt from scipy.constants import g import seaborn as sns def free_fall1(velocity, altitude, delt…

対応のない (対になっていない) 2標本t検定 (両側)。ウェルチのt検定 (Python 3, Pandas, SciPy: scipy, ttest_ind(, equal_var=False))

使用するライブラリ Pandas SciPy Python 3 コード t_test_ind2.py #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 概要: # 対応のない (対になっていない) 2 標本 t 検定 (両側) # 16 匹のオス象と 16 匹のメス…

ノンパラメトリック検定。二項検定。1つの割合に関する検定。基準値との比較 (Python 3, SciPy: binom_test())

使用するライブラリ SciPy Python 3 コード binomial_test1.py #!/usr/bin/env python3 """(docstring) """ # 使用するデータと解説は『SPSSによるノンパラメトリック検定』p 24 ~ 34 # # # データや検定(分析、解析等)について: # # ある病院で、看護に関す…

対応のある (対の) 2標本t検定 (両側) (Python 3, Pandas: describe(), mean(), sem(), SciPy: stats, ttest_rel(), mean(), sem())

以前、自分の他ブログで書いたものを加筆・修正して再掲。 使用するライブラリ Pandas SciPy Python 3 コード t_test_two_related1.py #!/usr/bin/env python3 """(docstring) """ # 使用したデータは『すぐできる生物統計』 # # 対応のある (対の) 2 標本 t…

標準得点、標準化、正規化、基準化、z値、Z値 (自作関数) (Python 3, NumPy, SciPy: zscore())

使用するライブラリ NumPy Python 3 コード standard_score.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def standard_score(x): """(docstring) """ # 標準得点、標準化、正規化、基準化、z値、Z値の数式: z = (xi - xbar) / S mean_…

変動係数 (不偏標準偏差ではない場合) (自作関数) (Python 3, NumPy, SciPy: variation())

使用するライブラリ NumPy Python 3 コード coefficient_of_variation.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def coefficient_of_variation(x): """(docstring) """ # 変動係数の数式: C.V. = Sx / xbar # # 注意: ここでの変動…

相関係数 (自作) (Python 3, NumPy: corrcoef(), SciPy: stats, pearsonr())

使用するライブラリ NumPy Python 3 コード correlation_coefficient.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def correlation_coefficient(x, y): """(docstring) """ # 相関係数の数式: Σ(xi - xbar)(yi - ybar) / √Σ(xi - xbar…

一元配置分散分析 (ANOVA) (Python 3, SciPy: stats, f_oneway(), Pandas: DataFrame())

以前、自分が書いていたブログから加筆・修正してこちらで再掲。 (現在、そのブログは、自分自身のためのノート化が強くなったので非公開)。 使用するライブラリ Pandas SciPy Python 3 コード oneway_anovatests1.py #!/usr/bin/env python3 """(docstring)…

差に対するカイ二乗検定 (Python 3, SciPy: stats, chisquare(), Pandas: DataFrame())

以前、自分が書いていたブログから加筆・修正してこちらで公開。 (そのブログは、自分自身のためのノート化が強くなったので現在非公開)。 使用するライブラリ SciPy Pandas Python 3 コード chi_squaredtest1.py #!/usr/bin/env python3 """(docstring) """…

単回帰分析 (線形回帰、要約統計量、散布図、相関係数、p値、回帰直線) (Python 3, StatsModels: statsmodels.formula.api, ols())

以前、自分が書いていたブログから加筆・修正してこちらで公開。 (以前のブログは、自分自身のためのノート化が強くなったので現在非公開モードにしている)。 使用するライブラリ matplotlib Pandas SciPy StatsModels Python 3 コード linear_regression1.p…

調和平均 (平均) (Python 3, NumPy: sum(), SciPy: stats, hmean())

使用するライブラリ NumPy Python 3 コード harmonic_mean.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def harmonic_mean(dat): """(docstring) """ # 調和平均の数式: (1/n)((1/x1) + ... + (1/xn)) # # 注意: この方法は、実用に耐…

幾何平均 (平均) (Python 3, NumPy: prod(), SciPy: stats, gmean())

使用するライブラリ NumPy Python 3 コード geometric_mean.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def geometric_mean(dat): """(docstring) """ # 幾何平均の数式: n√(x1 * x2 * ... * xn) # # 注意: この方法は、実用に耐えな…

統計学。2標本t検定 (分散が等しいと仮定。等分散を仮定)。(Python 3, SciPy: stats, ttest_ind())

使用するライブラリ NumPy SciPy Python 3 コード t_test_ind.py #!/usr/bin/env python3 """(docstring) """ import numpy as np from scipy import stats def t_test_ind(x_dat, y_dat): """(docstring) """ # x_dat, y_dat: 独立になっている 2 つのグル…

統計学。1標本t検定 (両側)。(Python 3, SciPy: stats, ttest_1samp())

使用するライブラリ NumPy SymPy Python 3 コード t_test_one_samp.py #!/usr/bin/env python3 """(docstring) """ import numpy as np from scipy import stats def t_test_one_samp(dat, mu): """(docstring) """ # dat: データ, mu: 母平均 return stats.…

線形代数。固有値 (Python 3: decorator (デコレータ), @staticmethod, NumPy: linalg, eigvals(), SciPy: linalg, eigvals())

使用するライブラリ NumPy SciPy Python 3 コード np_sp_eigvals.py #!/usr/bin/env python3 """(docstring) """ import numpy as np import scipy.linalg as sp_la # (@staticmethod がどうしてもなくてはならないということではないが)。 # (@staticmethod…

(統計学、(高校数学: データの分析)) メジアン (中央値)、 モード (最頻値) (Python 3, NumPy: median(), SciPy: stats, mode())

使用するライブラリ NumPy SciPy Python 3 コード median_mode.py #!/usr/bin/env python3 """(docstring) """ import numpy as np from scipy import stats def median_mode(): """(docstring) """ # 仮想データ x を作成。 # # (こういう作り方だと、最頻…

(統計学, (高校数学: データの分析)) 散布図と相関係数とp値 (Python 3, matplotlib: scatter(), Scipy: stats, pearsonr())

使用するライブラリ matplotlib Pandas SciPy Python 3 コード scatter_plot_and_cor.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import pandas as pd from scipy.stats import pearsonr def scatter_plot_and_cor(): "…

組合せ nCr (Python 3, アンパック, SciPy: scipy.special, comb())

使用するライブラリ SciPy Python 3 コード combination.py #!/usr/bin/env python3 """(docstring) """ from scipy.special import comb def combination(nums): """(docstring) """ return comb(*nums) if __name__ == '__main__': print("""以下の計算を…

順列 nPr (Python 3, アンパック, SciPy: scipy.special, perm())

使用するライブラリ SciPy Python 3 コード permutation1.py #!/usr/bin/env python3 """(docstring) """ from scipy.special import perm def permutation(nums): """(docstring) """ return perm(*nums) if __name__ == '__main__': print("""以下の計算を…

階乗 (Python 3, math.factorial() Scipy: special.factorial(): SymPy: factorial())

使用するライブラリ 標準ライブラリ SciPy SymPy Python 3 コード 標準ライブラリの math と SciPy, SymPy のfactorial() を対話モードから。 $python3 >>> import math >>> math.factorial(5) 120 >>> >>> import scipy.special >>> scipy.special.factoria…