私が知っている重みを使ってランダムに1000データポイントを生成しました。今、私はsig^2の値と重みを推定する-log尤度関数を最小にしようとしています。私はプロセスを概念的に分類していますが、コード化しようとすると失われてしまいます。MLEの推定とカーブフィッティングにscipy optimizeを使用する
これは私のモデルである:
p(y|x, w, sig^2) = N(y|w0+w1x+...+wnx^n, sig^2)
私は今しばらくの間、グーグルでてきたと私はscipy.stats.optimize.minimize機能は、このために良いです学んだことが、私は得ることができませんそれは正しく機能する。私が試したすべてのソリューションは、私が解決策を得た例のために働いていますが、私はそれを私の問題に推論することができません。
x = np.linspace(0, 1000, num=1000)
data = []
for y in x:
data.append(np.polyval([.5, 1, 3], y))
#plot to confirm I do have a normal distribution...
data.sort()
pdf = stats.norm.pdf(data, np.mean(data), np.std(data))
plt.plot(test, pdf)
plt.show()
#This is where I am stuck.
logLik = -np.sum(stats.norm.logpdf(data, loc=??, scale=??))
I者らは、式エラー(ワット)= 0.5 *和(ポリ(x_nに関する、)ワット - y_n)^ 2は、したがって、重みの誤差を最小化に関連します私の可能性を最大にしますが、私はこれをコード化する方法を理解していません...私はsig^2と同様の関係を見つけましたが、同じ問題があります。誰かがカーブフィッティングを助けるためにこれを行う方法を明確にすることはできますか?多分私は使用できる擬似コードを投稿するために行く?
「テスト」とは何ですか?あなたが使用できる 'test'の例を提供するためにあなたの質問を編集できますか?また、あなたの希望する出力は何ですか?尤度を最大にする重みとシグマの値? – cd98
ああ、私が使っていた古いリストだったのですが、私はデータで置き換えられました、それはSOコードのタイプミスでした。はい、私は可能性を最大にする重みとシグマの値を見つけようとしています。 – user2967087