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.
Odpowiedzi:
3 dla odpowiedzi № 1beta = 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