У меня следующая дилемма:
Я понимаю-i sh, что такое предельные эффекты, а также их вычисление, вывод сигмовидной функции и как ее интерпретировать (как изменение вероятности увеличивая вашу переменную интереса на "немного" , этот бит равен 1 для дискретных переменных или std (x) / 1000 для непрерывного). Теперь, часть, которую я нахожу сложной, состоит в том, чтобы подтвердить результаты предельных эффектов вручную и пересчитать вероятности для x = 0 и затем x = 1 (например), а затем получить разницу в вероятности, равную предельному эффекту Я получил ранее, я особенно застрял с фиктивными переменными, так как, если я увеличиваю одну, мне приходится уменьшать другую, поэтому я не уверен, как обойти это и интерпретировать. (этот вопрос также относится к сильно коррелированным переменным)
Чтобы сделать его более понятным, скажем, у меня есть следующий набор данных:
#Python
[1. , 0. , 0. , 4.6, 3.1, 1.5, 0.2],
[1. , 0. , 1. , 5. , 3.6, 1.4, 0.2],
[1. , 1. , 0. , 5.4, 3.9, 1.7, 0.4],
[1. , 0. , 1. , 4.6, 3.4, 1.4, 0.3],
[1. , 1. , 0. , 5. , 3.4, 1.5, 0.2],
[1. , 0. , 0. , 4.4, 2.9, 1.4, 0.2],
[1. , 0. , 1. , 4.9, 3.1, 1.5, 0.1],
[1. , 1. , 0. , 5.4, 3.7, 1.5, 0.2],
...
Var_0 = Что будет перехват.
Var_1, var_2 = Одна горячая закодированная переменная (2/3 манекена), одна отброшена, чтобы избежать слинейности.
Var 3 + = Нормальные непрерывные переменные
Коэффициенты :
[ 7.56986405, 0.75703164, 0.27158741, -0.37447474, -2.79926022, 1.43890492, -2.95286947]
lo git
[-3.34739217,
-2.27001103,
-1.49517926,
-0.77178644,
-0.808111,
-2.48474722,
-1.76183804,
-0.90621541
...]
Вероятности
[0.03398066,
0.09363728,
0.18314562,
0.31609279,
0.30829318,
0.0769344 ,
0.14656029,
0.28777491,
...]
Маргинальный эффект = p*(1-p) * B_j
Теперь давайте скажем, что меня интересует маргинальный эффект var_1 (одного из чайников), я просто сделаю: p*(1-p) * 0.7570
, что приведет к массиву длиной n (число obs) с различными предельными эффектами (что хорошо, потому что я понимаю, что эффекты не постоянны и нелинейный). Допустим, этот массив исходит из [0.0008 to 0.0495]
Теперь проблема в том, как вы можете проверить эти результаты? Как измерить предельный эффект, когда манекен переходит от значений 0
к 1
?
Можно утверждать, что я мог бы сделать две вещи MEM и AME методы:
MEM: Оставьте все значения в их среднем значении, а затем снова вычислите для var_1 = 0, а затем для var_1 = 1 (метод MEM)
(вы не можете этого сделать, потому что вы будете предполагать, что у вас могут быть некоторые наблюдения, где var_1 и var_2 будут равны 1 в одно и то же время, что неверно, поскольку среднее значение для манекена равно пропорции количества «1» для этого столбца)
AME: Оставьте как отмечено, но изменив все значения var_1 на 0 (делая все значения var_2 = 1), а затем сделайте обратное (var_1 = 1, var_2 = 0, Вы должны сделать это, поскольку он не может принадлежать двум категориям одновременно), а затем взять среднее значение результатов (метод AME) (Side comment:One thing I am not sure if it is the average between the difference in marginal effects when var_1 = 0 and then 1, or if it is an average between the probabilities when var_1 =0 and then 1, I used both, but probability I think it makes more sense to me)
Теперь, если Я пытаюсь 2-й подход, я получаю очень разные результаты по сравнению с тем, что я изначально получил (которые были значения между [0.0008 to 0.0495]
), это дает мне значения между [0.0022 to 0.1207]
, что является огромной разницей.
Подводя итог:
Как можно сделать математическое подтверждение получения тех же значений, которые я получил изначально ([0.0008 to 0.0495]
)
Как я могу интерпретировать эти исходные значения в первую очередь? Потому что если я возьму 0.0495
, я в основном говорю, что если я увеличу var_1 на 1 единицу (с 0 до 1), у меня будет 4,95% увеличение вероятности моего события, проблема в том, что это не так учтите, что для увеличения на 1 единицу мне нужно по умолчанию уменьшить другую фиктивную переменную (var_2), поэтому я буду делать что-то вроде двойного изменения переменных или как двойной маргинальный эффект в то же время.