/ / MATLAB: Jak mogę wykreślić funkcję Probit? - Matlab

MATLAB: Jak mogę wykreślić funkcję Probit? - matlab

Napisałem następujący kod, aby wydrukować funkcję Logit, w której beta = 1.

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

O ile mogę powiedzieć, że wygląda dobrze, ale ja niewiedzieć, jak dodać funkcję Probit. Rozumiem, jak umieszczać wykresy na jednej figurze, ale nie rozumiem, jak generować dane z tej dystrybucji. Czy jest jakiś wygodny sposób, aby to zrobić w programie MATLAB?

Ostatecznie staram się stworzyć coś podobnego, w którym widać, że Probit i Logit są bardzo podobne.

Probit vs Logit

Odpowiedzi:

3 dla odpowiedzi № 1
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))

Zgodnie z sugestią @patrick, jeśli masz „Przybornik uczenia maszynowego i statystyczny”, korzystniejsze byłoby użycie norminv funkcja, czyli zastąpienie czwartej linii przez:

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