ホームページ > バックエンド開発 > Python チュートリアル > Python で Scipy を使用して経験データを理論分布に適合させるにはどうすればよいですか?

Python で Scipy を使用して経験データを理論分布に適合させるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-29 21:30:14
オリジナル
212 人が閲覧しました

How Can I Fit Empirical Data to Theoretical Distributions Using Scipy in Python?

Scipy を使用して経験的分布を理論分布に当てはめる


はじめに


整数値の大規模なデータセットと計算を目的としています。 p 値、より高い値が発生する確率。これらの確率を決定するには、データ分布に近似する理論的な分布を求めます。この記事では、Python の Scipy パッケージを使用してこれを実現する方法について説明します。


分布のフィッティング


Scipy の scipy.stats モジュールは、連続および離散の広範なコレクションを提供します。確率分布。各分布には、その形状と動作を特徴付ける独自のパラメーターがあります。目標は、適合度検定に基づいて経験的データに最もよく適合する分布を見つけることです。


適合度検定


< p>適合度テストは、経験的分布と理論的分布の間の差異を測定します。一般的な検定には、コルモゴロフ-スミルノフ検定とカイ二乗検定が含まれます。 Scipy はこれらのテストを実行する関数を提供しており、候補分布の適合性を評価できます。


Sum of Squared Error (SSE)


Oneこのアプローチは、適合度の尺度として二乗誤差和 (SSE) を利用することです。 SSE は、経験的確率密度関数と理論的確率密度関数間の二乗差を計算します。最小限の SSE を持つ分布が最適であると考えられます。


Python の実装


次の Python コードは、データを理論的な分布に適合させる方法を示しています。使用してSSE:


<br>pdas を pd としてインポート<br>numpy を np としてインポート<br>scipy.stats を st としてインポート<br>matplotlib.pyplot を plt としてインポート</p>
<p>データ = pd.read_csv('data.csv') # データファイルに置き換えます</p>
<h1>データのヒストグラム</h1>
<p>plt.hist(data, bins=50)<br>plt.show() </p>
<h1>候補分布</h1>
<p>dist_names = ['norm', 'expon', 'gamma', 'beta']</p>
<h1>各分布を当てはめて SSE を計算します</h1>
<p>best_distribution = None<br>min_sse = np.inf<br> dist in dist_names:</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">dist = getattr(st, dist)
params = dist.fit(data)

# Calculate SSE
sse = np.mean((dist.pdf(data, *params) - np.histogram(data, bins=50, density=True)[0]) ** 2)

# Update the best distribution if necessary
if sse < min_sse:
    min_sse = sse
    best_distribution = dist, params
ログイン後にコピー

の分布パラメータを出力します。最適な分布

print(best_distribution[0].name, best_distribution[1])

このコードは、最適な分布の名前を提供します。推定されたパラメータを使用します。これらのパラメーターを使用して p 値を計算し、分布の適合度を評価できます。

以上がPython で Scipy を使用して経験データを理論分布に適合させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート