Я написав наступний код, щоб побудувати функцію Logit, де бета = 1.
beta = 1
e(:,1) = 0:0.01:1;
e(:,2) = log(e(:,1)./(1-e(:,1)))+beta;
plot(e(:,2),e(:,1))
Наскільки я можу сказати, що виглядає добре, але я не "тзнати, як додати функцію Probit. Я розумію, як покласти на ділянки в одній фігурі, але я не розумію, як генерувати дані з цього дистрибутива.
У кінцевому підсумку я прагну створити щось на зразок наступного, в якому видно, що Probit і Logit дуже схожі.
Відповіді:
3 для відповіді № 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))
Як запропонував @patrick, якщо у вас є "Машинне навчання та статистичний інструментарій", було б чистіше використовувати norminv
функція, тобто замінити 4-й рядок на:
e(:,3) = norminv(e(:,1)) ; % probit fn