正規分布の確率密度関数 | 各種正規分布検定 | QQチャート

正規分布の確率密度関数(PDF)の関数値は、与えられた正規分布パラメータ(平均μと標準偏差σ)の下で、特定の確率変数値 x に対して計算される確率密度値 f(x) です。この値は、正規分布の下で値 x をとる確率変数の確率密度を表します。

具体的には、正規分布の確率密度関数の計算式は次のようになります。

この確率密度関数は、確率変数 x が異なる値を取る場合の確率密度分布を表し、f(x) は x における確率変数 X の相対確率を表します。正規分布の曲線は平均 μ を中心とした釣鐘型で、標準偏差 σ が曲線の幅を決定します。データ ポイントが平均から離れるほど、確率密度は低くなります。

確率密度と確率: 確率密度関数はさまざまな値での確率密度を与えますが、連続確率変数の場合、単一点の確率密度はゼロです。確率は、単一点の確率ではなく、区間内の確率密度の累積です。

正規分布の確率密度関数の確率密度値は直接確率ではありませんが、さまざまな値での確率変数の相対確率密度の分布を表します。特定の確率を計算するには、積分を使用して区間内の確率を計算する必要があります。

正規分布の確率密度関数 f(x) は、正規分布において特定の値 x をとる確率変数 X の確率密度を記述するために使用される数学関数です。簡単に言えば、正規分布の平均 (μ) と標準偏差 (σ) が与えられた場合に、確率変数 X が特定の値 x に等しい相対確率を表します。

具体的には、f(x) は次の 2 点として解釈できます。

  1. 相対尤度: f(x) は直接の確率値ではなく、確率密度です。これは、正規分布の下で確率変数 X が特定の値 x をとる相対的な尤度を示します。ある x で f(x) が高い場合、その値が正規分布に含まれる可能性が高いことを意味します。

  2. 曲線の下の面積: 正規分布の確率密度関数のグラフは釣鐘型の曲線です。曲線の下の領域を積分することにより、確率変数 X が特定の値または値の範囲内に収まる確率を見つけることができます。これは、X が特定の区間内に収まる確率を知りたい場合は、f(x) を積分することで計算できることを意味します。

要約すると、確率密度関数 f(x) は、正規分布における各可能な値の相対尤度を記述する関数です。これは、直接の確率値ではなく、確率密度を表したものです。f(x) を積分することで、確率変数 X が正規分布における特定の値または値の範囲内に収まる確率を計算できます。

 確率密度関数 (PDF) は、さまざまな値における連続確率変数の相対確率密度を記述します。これは、PDF が直接の確率ではなく、さまざまな値での確率変数の相対的な出現頻度または密度を反映していることを意味します。

以下は、PDF のさまざまな値に関する重要な概念です。

  1. 確率密度値: PDF の値 f(x) は、特定の値 x をとる確率変数付近の相対確率密度を表します。具体的には、f(x) は x における単位確率密度、つまり無限小区間内の相対確率密度を表します。

  2. 値の範囲: PDF は、確率変数のすべての可能な値範囲にわたる確率密度分布を記述します。通常、この範囲は連続的であるため、各特定の値での確率密度値は無限小になります。

  3. 曲線の形状: PDF のグラフは通常曲線であり、その形状は確率変数の分布特性によって決まります。たとえば、正規分布の PDF は平均値にピークを持つ釣鐘型の曲線であり、平均値に近い値の相対確率密度が高いことを示します。

  4. 確率計算: 確率変数が特定の区間 [a, b]$ 内に収まる確率を計算するには、積分を使用して計算できます。

  5. 確率比較: PDF の相対確率密度を異なる値で比較することで、異なる値の相対頻度を把握できます。確率密度の値が高いほど、その値の頻度が高いことを意味し、確率密度の値が低いほど、その値の頻度が低いことを意味します。

つまり、確率密度関数に基づくさまざまな値での相対確率密度は、連続確率変数の相対頻度または密度分布を表します。これにより、さまざまな値での確率変数の相対的な発生頻度を理解できますが、特定の確率を計算するには、積分を使用して区間内の確率を考慮する必要があります。

正規分布の確率密度関数は、さまざまな値でのデータの確率密度分布を記述するために使用される数式です。これにより、データ ポイントがさまざまな場所に現れる可能性を定量化できるため、統計とデータ サイエンスにおいて非常に重要です。 . . これが、正規分布がさまざまなアプリケーションで広く使用される理由の 1 つです。

-----------

統計やデータ分析における正規分布の重要な役割を過小評価することはできません。以下に、これらの分野における正規分布の重要な役割についての洞察をいくつか示します。

  1. パラメータ推定: 正規分布の特性により、パラメータ推定に非常に役立ちます。データに対して最尤推定を実行することにより、正規分布の平均と標準偏差を推定でき、データの全体的な特性をより深く理解できるようになります。

  2. 仮説検定: 多くの仮説検定方法は、t 検定、F 検定などの正規分布の特性に基づいています。これらの検定は、異なるグループ間の平均または分散を比較して、それらが有意に異なるかどうかを判断するために使用されます。

  3. 統計的推論: 正規分布は統計的推論において重要な役割を果たします。正規分布のパラメータを推定し、仮説を検証することにより、信頼区間や仮説の信頼性など、母集団に関する推論を引き出すことができます。

  4. 中心極限定理: 中心極限定理は、多数の独立した確率変数の平均が正規分布に従う傾向があることを示します。この定理は、現実世界のデータの多くが平均値付近に正規分布する理由を説明するため、正規分布が大規模なサンプルに対する統計的推論の基本となります。

  5. モデル フィッティング: 正規分布は、多くの自然現象や社会現象のデータ分布に適切に適合するため、データのフィッティングによく使用されます。これは、統計モデルを構築し、将来のデータ ポイントを予測するために重要です。

  6. 視覚化: 正規分布の確率密度関数のグラフは、データの分布特性を理解するためによく使用される視覚化ツールです。正規分布曲線を描くことで、データの中心位置と分散をすぐに把握できます。

  7. リスク管理と財務: 金融では、資産価格の変動性をモデル化するために正規分布がよく使用されます。これは、リスク管理と投資の意思決定にとって重要です。

  8. 工学および自然科学: 正規分布は、測定誤差や気象モデルなどの現象をモデル化および分析するために、工学、物理学、生物学およびその他の自然科学分野で広く使用されています。

要約すると、正規分布の数学的特性と多用途性により、正規分布は統計とデータ分析において不可欠なツールとなっています。これは、さまざまな自然現象や社会現象の統計的特性を理解して説明するのに役立ち、それによって科学研究、意思決定、問題解決をサポートします。

-------------------

正規分布の尖度と歪度は、分布の形状を表す 2 つの統計的特性です。

  1. 歪度: 歪度は、データ分布の歪度を測定します。正規分布の歪度は 0 に近く、これは分布が対称であり、平均が分布の中心に位置し、両側のデータが対称に分布していることを意味します。歪度が正の場合、データ分布は右に偏り (尾が右に伸びる)、歪度が負の場合、データ分布は左に歪む (尾が左に伸びる)。歪度の絶対値が大きいほど、歪度の度合いがより明確になります。

  2. 尖度: 尖度は、データ分布の鋭さまたは平坦さを測定します。正規分布の尖度は、正規分布のベースライン尖度である 3 に近くなります。尖度が 3 より大きい場合、分布はとがった形状 (裾が重い) であると言われ、これは正に歪んだ尖度または「過度にとがった」と呼ばれます。尖度が 3 未満の場合、分布は平坦な形状 (裾が明るい) であると言われ、負に歪んだ尖度または「過度に平坦」と呼ばれます。

要約すると、正規分布の歪度は 0 に近く、対称的な分布を示します。一方、尖度は 3 に近く、適度にピークのある形状を示します。これら 2 つの統計は正規分布の形状特性を説明するために使用されますが、それらの値は他の種類の分布では異なる場合があります。実際のアプリケーションでは、歪度と尖度は、データの分布特性を特定し、それを正規分布と比較して、データが正規分布にほぼ準拠しているかどうかを判断するのに役立ちます。

-------------------

正規分布テストは、特定のデータセットが正規分布の仮定を満たしているかどうかを判断するために使用されます。統計やデータ分析では、通常、正規分布検定を実行する方法がいくつかあります。一般的な方法には次のようなものがあります。

  1. Shapiro-Wilk テスト: Shapiro-Wilk テストは、データが正規分布に従うかどうかをテストするために広く使用されている方法です。その帰無仮説は、データが正規分布に従うということです。p 値が有意水準 (通常は 0.05) より小さい場合、帰無仮説は棄却される可能性があり、データが正規分布に従っていないことを示します。

  2. D'Agostino と Pearson の検定: これは、正規分布のもう 1 つの一般的な検定方法です。データの歪度と尖度に基づいて、データが正規分布に準拠しているかどうかを判断します。Shapiro-Wilk 検定と同様に、p 値が有意水準より小さい場合、正規分布の仮定は棄却される可能性があります。

  3. Kolmogorov-Smirnov 検定: この検定方法は、指定されたデータの理論上の正規分布への適合を比較するために使用されます。累積分布関数の差に基づいて、データが正規分布に従うかどうかを判断します。

正規性テスト方法が異なれば、使用するための前提条件や特性も異なります。以下に、いくつかの一般的な正規性テスト方法とその主な前提条件と特徴を示します。

  1. シャピロ・ウィルクテスト:

    • 前提条件:データは連続的であり、サンプル サイズは通常小さすぎません (通常、サンプル サイズは 5 または 10 より大きいことが推奨されます)。
    • 特徴:これは、さまざまなサイズのデータ​​セットに適した比較的強力な正規性テスト方法です。非正規性に対して比較的敏感であり、小さいサンプルと大きいサンプルの両方に使用できます。
  2. コルモゴロフ・スミルノフ検定:

    • 前提条件:データは連続的です。通常、単一サンプルのテストではサンプル サイズが小さすぎないことが必要ですが、2 サンプルのテストでは 2 つのサンプルのサイズが近い必要があります。
    • 特徴:このテストは、データを理論上の正規分布の累積分布関数と比較するのに適しています。より柔軟で、単一サンプルと 2 サンプルの比較に使用できます。ただし、サンプルデータが小さい場合は、感度が十分ではない可能性があります。
  3. アンダーソン・ダーリング検定:

    • 前提条件:データは連続的です。通常、大規模なサンプル データに使用されます。
    • 特徴:このテストは Shapiro-Wilk の拡張版であり、大規模なサンプル データでより効果的に機能し、通常はサンプル サイズが大きい場合に使用されます。さまざまな分布テストに使用できる、さまざまな重みを持つ多数の統計が提供されます。
  4. QQ ダイアグラム (分位数-分位数ダイアグラム) :

    • 前提条件:連続データに適しています。特定のサンプルサイズは必要ありませんが、グラフィカルな解釈には経験が必要な場合があります。
    • 特徴:データの分位数と理論上の正規分布の分位数を視覚的に比較することで、データが正規分布に準拠しているかどうかを判定する視覚化手法です。これにより、簡単な第一印象が得られますが、特定の p 値は得られません。
  5. リリエフォルステスト:

    • 前提条件:通常、サンプルサイズが小さい場合、小さなサンプルデータに適しています。
    • 特徴:これはコルモゴロフ-スミルノフ検定の変形であり、特に小規模なサンプル データに使用されます。標準のコルモゴロフ・スミルノフ検定よりも小さなサンプルデータに対する感度が高くなります。

各テスト方法には範囲と制限があり、適切な方法の選択はデータの特性と研究課題によって異なります。通常は、複数の方法の結果を組み合わせて最終的な判断を行うことをお勧めします。さらに、正規性テストは通常​​、最終的な結論ではなく、統計分析のステップとして行われます。

これらは、一般的な正規分布のテスト方法の一部です。データに応じて適切な方法を選択し、データが正規分布に準拠しているかどうかを確認する必要があります。正規分布検定は、データが完全に正規分布であることを必ずしも必要とするわけではありませんが、データが正規分布から大きく逸脱しているかどうかを判断するために使用されることに注意してください。

import scipy.stats as stats
import numpy as np

# 生成模拟数据,这里使用NumPy生成随机正态分布数据
np.random.seed(0)  # 设置随机种子以保持一致性
data = np.random.normal(0, 1, 1000)  # 均值为0,标准差为1的正态分布数据,生成1000个数据点

# 使用Shapiro-Wilk检验
statistic, p_value = stats.shapiro(data)
if p_value > 0.05:
    print("Shapiro-Wilk检验:数据符合正态分布")
else:
    print("Shapiro-Wilk检验:数据不符合正态分布")

# 使用D'Agostino和Pearson检验
statistic, p_value = stats.normaltest(data)
if p_value > 0.05:
    print("D'Agostino和Pearson检验:数据符合正态分布")
else:
    print("D'Agostino和Pearson检验:数据不符合正态分布")

# 使用Kolmogorov-Smirnov检验
statistic, p_value = stats.kstest(data, 'norm')
if p_value > 0.05:
    print("Kolmogorov-Smirnov检验:数据符合正态分布")
else:
    print("Kolmogorov-Smirnov检验:数据不符合正态分布")

複数の正規性テスト 

import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt

data = np.random.normal(loc=12, scale=2.5, size=340)
df = pd.DataFrame({'Data': data})

# 描述性统计分析
mean = df['Data'].mean()
std_dev = df['Data'].std()
skewness = df['Data'].skew()
kurtosis = df['Data'].kurtosis()

print("均值:", mean)
print("标准差:", std_dev)
print("偏度:", skewness)
print("峰度:", kurtosis)

# 创建一个2x1的子图布局
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6, 6))
# 可视化 - stats.probplot正态概率图(Q-Q图)
stats.probplot(data, plot=ax1, dist='norm', fit=True, rvalue=True)  #ax1作为绘图的位置
ax1.set_title("Q-Q Plot")
 
# 可视化 - 直方图
ax2.hist(data, bins=10, rwidth=0.8, density=True) # bins个柱状图,宽度是rwidth(0~1),=1没有缝隙
ax2.set_title("Histogram with Kernel Density Estimate")

# 调整子图之间的间距
plt.tight_layout()
# 显示图形
plt.show()

# 正态性检验 - Shapiro-Wilk检验
stat, p = stats.shapiro(data)
print("Shapiro-Wilk检验统计量:", stat)
print("Shapiro-Wilk检验p值:", p)

# Anderson-Darling检验
result = stats.anderson(df['Data'], dist='norm')
print("Anderson-Darling检验统计量:", result.statistic)
print("Anderson-Darling检验临界值:", result.critical_values)

# 执行单样本K-S检验,假设数据服从正态分布
statistic, p_value = stats.kstest(data, 'norm')
print("K-S检验统计量:", statistic)
print("K-S检验p值:", p_value)

# 执行正态分布检验
k2, p_value = stats.normaltest(data)
print(f"normaltest正态分布检验的统计量 (K^2): {k2}")
print(f"normaltest检验p值: {p_value}")

 

scipy.statsこのモジュールは SciPy ライブラリのサブモジュールであり、さまざまな統計分析および確率分布関連の操作を実行するために使用されます。このモジュールは、統計検定の実行、確率分布のフィッティング、確率変数の生成などを行うための多くの関数を提供します。一般的なモジュール関数をいくつか示します。scipy.stats

  1. 統計検定: scipy.statst 検定、ANOVA、カイ二乗検定、正規性検定など、多くの統計検定方法を提供します。これらの方法は、データセット間の差異を分析し、仮説をテストし、データが特定の分布に適合するかどうかを判断するために使用されます。

  2. 確率分布: このモジュールには、正規分布、指数分布、ポアソン分布、ガンマ分布などの連続および離散確率分布の多くの実装が含まれています。これらの分布を使用して、さまざまな種類の確率変数をモデル化および分析できます。

  3. 分布の近似:fitこの関数を使用して、データを特定の確率分布に近似することができます。これは、データが既知の分布に適合するかどうかを判断したり、分布のパラメーターを推定したりするのに役立ちます。

  4. ランダム変数の生成:scipy.stats指定した確率分布に従うランダム変数を生成できます。これは、実験をシミュレートしたり、ランダムなデータ ポイントを生成したりする場合に役立ちます。

  5. 記述統計: このモジュールを使用して、平均、標準偏差、中央値、パーセンタイルなどのデータの記述統計を計算できます。

  6. 確率密度関数と累積分布関数: このモジュールを使用して、確率密度関数 (PDF) と累積分布関数 (CDF) およびその逆関数を計算できます。

  7. 統計計算: このモジュールは、相関係数、共分散、歪度、尖度などのさまざまな統計の計算を提供します。

  8. 仮説検定: 一般的な t 検定とカイ 2 乗検定に加えて、コルモゴロフ-スミルノフ検定、アンダーソン-ダーリング検定などのいくつかの高度な仮説検定方法も提供されています。

これはscipy.statsモジュールの機能の一部にすぎません。これは、統計、データ分析、科学計算において非常に便利なツールであり、さまざまな種類のデータを処理および分析し、統計的推論や仮説検証を実行するために使用できます。特定の機能の詳細情報が必要な場合は、SciPy の公式ドキュメントを参照するか、このモジュールの機能をさらに詳しく調べてください。

 ---------------------

QQ プロット (分位数-分位数プロット) は、実際のデータ分布と理論上の分布 (正規分布など) の類似性を比較するための非常に便利な視覚化ツールです。QQ プロットは、散布図を描くことにより、データの分布と理論上の分布との関係を視覚的に観察するのに役立ちます。

QQ チャートを作成する手順は次のとおりです。

  1. 実際のデータを収集する: まず、分析する実際のデータ セットを収集または準備する必要があります。

  2. データの並べ替え: 後続の分位値の計算のために実際のデータを昇順に並べます。

  3. 分位数の計算: 各データ ポイントについて、通常は累積分布関数 (CDF) を使用して、データ セット全体内のパーセンタイル ランクを計算します。これらの分位値は、全体の分布内のデータ ポイントの相対位置を表します。

  4. 理論的分位数を生成する: 選択した理論的分布 (正規分布など) に基づいて、同じパーセンタイル ランキングに対応する理論的分位数を計算します。これらの理論的分位数は理論的分布から導出され、データがその理論的分布に適合する場合、同じ分布に従う必要があります。

  5. QQ プロットの描画: 実際のデータの分位点と理論的分布の分位点を散布図に描画します。通常、X 軸は理論上の分位数を表し、Y 軸は実際のデータの分位数を表します。データが理論上の分布にほぼ一致する場合、散布点はおおよそ 45 度の対角線に沿っているはずです。

  6. 結果の解釈: QQ チャート上のポイントの分布を観察します。それらが 45 度の対角線に沿って密接に並んでいる場合、データは選択した理論的分布に適合する可能性があります。点が対角線から逸脱している場合は、データが理論的な分布に従っていないことを示している可能性があります。

QQ プロットは、データの分布特性を視覚的に評価し、データが正規分布などの理論的な分布にほぼ準拠しているかどうかを確認するのに役立つ強力なツールです。QQ プロット上で点が直線に沿って密に並んでいる場合、これはデータが選択した理論的分布に準拠していることを示しています。関数は、サンプル データと理論的分布 (通常は正規分布) との適合を視覚化する確率プロットを作成するために使用されますこれは、サンプル データが特定の理論的分布に準拠しているかどうかを判断するのに役立ちます。 
scipy.stats.probplot

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# 生成一些模拟身高数据(正态分布)
# 假设你有一个包含100个身高观测值的数据集,你想要检查这些身高数据是否符合正态分布
np.random.seed(0)
heights = np.random.normal(loc=170, scale=10, size=100)

# 绘制Q-Q图
stats.probplot(heights, dist="norm", plot=plt)
plt.title("Q-Q Plot for Heights")
plt.xlabel("Theoretical Quantiles")
plt.ylabel("Sample Quantiles")
plt.show()

QQ プロットをプロットし、実際のデータの分位数を理論上の正規分布の分位数と比較するには、まずこれらの分位数を計算する必要があります。分位数は、データセット内の値の特定の割合を表します。分位数は通常、累積分布関数 (CDF) を使用して計算されます。正規分布の場合、分位数は次を使用して計算できます。

  1. 理論上の正規分布の分位数を計算します。

    • 特定の確率 (パーセンテージ) p (たとえば、p=0.25 は下位四分位である 25% の分位を表します) について、対応する分位は正規分布の累積分布関数 (CDF) を使用して計算できます。これには高度な数学的計算が含まれるため、通常、統計ソフトウェアまたはライブラリを使用して行われます。
  2. 実際のデータの分位数を計算します。

    • 実際のデータセットでは、データを小さいものから大きいものへと並べ替える必要があります。
    • 次に、次の式を使用して各データ ポイントの分位数を計算します。 分位数 = ((i - 0.5)/n) * 100% ここで、i は並べ替え後のデータ ポイントの位置、n はデータセット ポイント内の合計データです。
  3. QQチャートを描く:

    • 理論上の正規分布と実際のデータの分位数が得られたので、それらを QQ プロット上にプロットできます。
    • X 軸は理論上の正規分布の分位数を表し、Y 軸は実際のデータの分位数を表します。
    • データ ポイントが対角線に沿って狭い間隔で配置されている場合、データは正規分布している可能性があります。

NumPy を使用して、正規分布に従うと仮定してサンプル データセットを生成します。次に、実際のデータと理論上の正規分布の分位数を計算し、matplotlib と seaborn ライブラリを使用して QQ プロットをプロットしますQQ プロットは、実際のデータと理論上の分布の間の適合度を視覚化するために使用されます。データ ポイントが赤い破線に沿って密に分布している場合、データは正規分布に近くなります。

import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn as sns

# 生成一个示例数据集,假设服从正态分布
data = np.random.normal(loc=0, scale=1, size=1000)

# 计算实际数据的分位数
percentiles = np.percentile(data, [0, 25, 50, 75, 100])

# 计算理论正态分布的分位数
theoretical_percentiles = stats.norm.ppf([0, 0.25, 0.5, 0.75, 1], loc=0, scale=1)

# 绘制Q-Q图
plt.figure(figsize=(8, 6))
sns.set(style="whitegrid")
sns.scatterplot(x=theoretical_percentiles, y=percentiles)
plt.xlabel("Theoretical Quantiles")
plt.ylabel("Sample Quantiles")
plt.title("Q-Q Plot")
plt.plot([-2, 2], [-2, 2], color='red', linestyle='--')  # 添加对角线
plt.show()

おすすめ

転載: blog.csdn.net/book_dw5189/article/details/133221424