-2

私はPythonの世界にまったく慣れていません。また、私は統計学者ではありません。数学者が開発した数学モデルをコンピュータ サイエンス プログラミング言語で実装する必要があります。いくつかの調査の結果、python を選択しました。私はそのようなプログラミング (PHP/HTML/javascript) に慣れています。

MySQLデータベースから抽出した値の列があり、以下を計算する必要があります-

1) Normal distribution of it. (I don't have the sigma & mu values. These need to be calculated too apparently). 
2) Mixture of normal distribution
3) Estimate density of normal distribution
4) Calculate 'Z' score

値の配列は次のようになります (サンプル データを入力しました)-

d1 = [3,3,3,3,3,3,3,9,12,6,3,3,3,3,9,21,3,12,3,6,3,30,12,6,3,3,24,30,3,3,3]


mu1, std1 = norm.fit(d1)

正規分布は、次のように計算できると理解しています-

import numpy as np
from scipy.stats import norm

mu, std = norm.fit(data)

これで(2)、(3)、(4)を開始する方法についていくつかの指針を得ることができますか?専門家からの連絡を楽しみにしているので、オンラインで調べ続けています。

質問が完全に意味をなさない場合は、どの側面が欠けているか教えてください。それに関する情報を取得しようとします.

ここで何か助けていただければ幸いです。

4

2 に答える 2

1

ご質問の一部が不明です。実行している具体的な手順ではなく、達成しようとしていることのコンテキストを提供すると役立つ場合があります。

1) + 3) 正規分布では、分布をフィッティングすることと、平均と標準偏差を推定することは、基本的に同じことです。平均と標準偏差によって分布が完全に決まります。

mu, std = norm.fit(data)

「分布に最もよく合う平均値と標準偏差を見つける」と言っているのと同じです。

4) Z スコアの計算 - 何をしようとしているのかを説明する必要があります。これは通常、データ ポイントが平均値をどれだけ上回っているか (または下回っているか) を標準偏差の単位で表します。これはあなたがここで必要なものですか?もしそうなら、それは単に

(np.array(data) - mu) / std

2) 正規分布の混合 - これは完全に不明です。これは通常、分布が複数の正規分布によって実際に生成されることを意味します。これはどういう意味ですか?

于 2016-02-28T19:28:49.910 に答える
1

(2)については「mixture of Gaussians Python」で検索するとたくさんヒットするはずです。

ガウスの混合は非常に単純なアイデアです。単一のガウス バンプの代わりに、密度には複数のバンプが含まれます。密度は重み付けされた合計 $\sum_k \alpha_k g(x, \mu_k, \sigma_k^2)$ であり、重み $\alpha_k$ は正で合計が 1 になり、$g(x, \mu, \sigma^ 2)$ は単一のガウス バンプです。

パラメータ $\alpha_k$、$\mu_k$、および $\sigma_k^2$ を決定するには、通常、いわゆる期待値最大化 (EM) アルゴリズムを使用します。ここでも Web 検索で多くのヒットが見つかるはずです。ガウス混合の EM アルゴリズムは、いくつかの Python ライブラリに実装されています。自分で書くのはそれほど複雑ではありませんが、最初は既存の実装を使用できます。

于 2016-02-28T21:02:17.457 に答える