ため平滑加重:ローカル次のように私は確率変数を有するバイナリ値の確率変数
F(X)=確率gを有する1(X)
F(X)=確率1-G 0 (X)
G(x)はG(X)= xを想定あります。のは、次のように私は100個のサンプルを関数gを知らなくても、この変数を観察して得られていましょう:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import binned_statistic
list = np.ndarray(shape=(200,2))
g = np.random.rand(200)
for i in range(len(g)):
list[i] = (g[i], np.random.choice([0, 1], p=[1-g[i], g[i]]))
print(list)
plt.plot(list[:,0], list[:,1], 'o')
今、私はこれらの点から関数gを取得したいと思います。
bin_means, bin_edges, bin_number = binned_statistic(list[:,0], list[:,1], statistic='mean', bins=10)
plt.hlines(bin_means, bin_edges[:-1], bin_edges[1:], lw=2)
代わりに、私は生成機能の継続的な評価を持っているしたいと思います:私が考えることができる最高のは、ヒストグラムを描く使用し、平均の統計を使用することです。
私はそれがカーネル密度推定であると思いますが、適切なポインタが見つかりませんでした。
あなたはkatsを 'Statsmodels'' sklearn'で見つけることができ、 'scipy'はkadesも持っています。プロットだけで '海軍(seaborn) 'を見たいと思ったら、' distplot'や 'kdeplot'です。しかし、なぜバイナリデータにkdeが必要ですか? –
@MarvinTaschenberger kdeに関する私の発言が誤解を招く可能性があります。ロジスティック回帰問題があるようです。 https://en.wikipedia.org/wiki/Logistic_regression#Example:_Probability_of_passing_an_exam_versus_hours_of_study。しかし、私はモデルに合うようにはしていません。私は円滑な方法でそれをプロットしたい。 – user1860037
これも関連性があります:http://thestatsgeek.com/2014/09/13/checking-functional-form-in-logistic-regression-using-loess/ – user1860037