/ / MATLAB:Probit関数をプロットするにはどうしたらいいですか? - matlab

MATLAB:Probit関数をプロットするにはどうしたらいいですか? - matlab

私は、ベータ= 1でLogit関数をプロットするために次のコードを書いた。

beta = 1
e(:,1) = 0:0.01:1;
e(:,2) = log(e(:,1)./(1-e(:,1)))+beta;
plot(e(:,2),e(:,1))

限り、私はそれがうまく見えると言うことができる限り、私はしないProbit関数を追加する方法を知っている。 1つの図にプロットする方法を理解していますが、このディストリビューションからデータを生成する方法を理解していません.MATLABでこれを行う便利な方法がいくつかありますか?

最終的に私はProbitとLogitが非常によく似ていることがわかるような、次のようなものを作りたいと思っています。

プロビット対ロジット

回答:

回答№1の場合は3
beta = 1
e(:,1) = 0:0.01:1;
e(:,2) = log(e(:,1)./(1-e(:,1)))+beta; % logit fn + beta
e(:,3) = sqrt(2) * erfinv(2*e(:,1) - 1) ; % probit fn
plot(e(:,1),e(:,2:3))

"機械学習と統計ツールボックス"を持っているならば、@パトリックが示唆しているように、 norminv 4行目を次のように置き換えます。

e(:,3) = norminv(e(:,1)) ; % probit fn