一連の3次元データの2次元正規分布関数を計算するためのスクリプト(できればPython)を探しています。存在しない場合は、誰かが提供できるコードまたは擬似コードをいただければ幸いです。
入力はそのようなトリプルのリストになります
[[x1, y1, z1], [x2, y2, z2], [x3, y3, z3],..., [xn, yn, zn]]
私が必要としているのは、データを操作し、後で再作成できるように、データを最も厳密に表す2次元正規分布の平均と標準偏差/分散です。
例
簡単にするために、1次元の正規関数の使用を延期します。次の2次元データポイントがある場合
[
[-4, 0.0001],
[-3, 0.0044],
[-2, 0.054 ],
[-1, 0.242 ],
[0 , 0.3989],
[1 , 0.242 ],
[2 , 0.054 ],
[3 , 0.0044],
[4 , 0.0001]
]
スクリプトが出力することを期待しています
mean = 0.0
standard deviation = 1.0
variance = 1.0
そうすれば、たとえば、標準偏差をからに変更したい場合はsd = 1.0
、sd = 2.0
曲線を変更して再作成し、ポイントをサンプリングして、-4...4
そのようにデータに値を書き換えることができます。
[
[-4, 0.027 ],
[-3, 0.0648],
[-2, 0.121 ],
[-1, 0.176 ],
[0 , 0.1995],
[1 , 0.176 ],
[2 , 0.121 ],
[3 , 0.0648],
[4 , 0.027 ]
]
ここで私の質問は、2次元の正規分布を厳密に表す3次元の点のリストを使用してこれを行うにはどうすればよいですか?
Pythonでこれを行うか、シェルスクリプトを呼び出すことをお勧めします。ただし、MatLabやMapleのようなプログラムを使用することに反対することはありません。