У мене був той самий випуск (" non-conformable arguments
"), що @ hans0l0 згаданий у коментарі вище. Я думаю, що я це вирішив, і спробую тут пояснити.
По-перше, в початковому посту є помилка в рівнянні. Це має бути є підписник після другого але не після першого. У моделі Тобіта граничний ефект змінної визначається не тільки коефіцієнтом цієї конкретної змінної ( ); також необхідний коригуючий коефіцієнт, який обчислюється зі значень інших змінних у моделі ( ).ϕ(xβ/σ)βjβxjβjϕ(xβ/σ)
З Wooldridge 2006 (стор. 598):
Коефіцієнт коригування… залежить від лінійної функції , . Можна показати, що коефіцієнт коригування суворо між нулем і одиницею.xxβ/σ=(β0+β1x1+…+βkxk)/σ
Цей коефіцієнт коригування означає, що ми маємо зробити вибір щодо значень інших змінних у моделі: "ми повинні підключити значення для x j , як правило, середні значення чи інші цікаві значення" (Wooldridge 2006, p598). Таким чином, це в цілому було б середнім, але це також може бути медіана, верхній / нижній квартал чи що-небудь інше. Це стосується того, чому @ hans0l0 і я отримували non-conformable argument
помилки " ", коли ми використовували вищезгаданий код Алекса: " x
" в цьому коді буде вектором, коли те, що нам потрібно, - це єдине значення для змінної (середнє / середнє / тощо) . Я вважаю, що в коді вище є ще одна помилка, оскільки вона виключає значення перехоплення з терміну коригування (зі [-1]
сценарієм після першого використанняreg$coef
). Я розумію це (але я радий, що мене виправлять) полягає в тому, що термін коригування повинен включати перехоплення ( зверху).β0
Все, що сказано, ось приклад використання даних AER::tobit (“Affairs”)
:
## Using the same model and data as in the Tobit help file
## NB: I have added the “x=TRUE” command so the model saves the x values
> fm.tobit <- tobit(affairs ~ age + yearsmarried + religiousness + occupation + rating,
data = Affairs, x=TRUE)
> fm.tobit$coef
(Intercept) age yearsmarried religiousness occupation rating
8.1741974 -0.1793326 0.5541418 -1.6862205 0.3260532 -2.2849727
> fm.tobit$scale
[1] 8.24708
## the vector of marginal effects (at mean values and for y > 0) should be as follows.
## note the [-1] used to remove the intercept term from the final vector,
## but not from within the adjustment term.
> pnorm(sum(apply(fm.tobit$x,2,FUN=mean) * fm.tobit$coef)/fm.tobit$scale) *
fm.tobit$coef[-1]
age yearsmarried religiousness occupation rating
-0.041921 0.1295365 -0.394172 0.076218 -0.534137
Важливо ще раз зазначити: це граничні наслідки лише у тих випадках, коли y є позитивним (тобто принаймні одна справа трапилась) та при середніх значеннях усіх пояснювальних змінних.
Якщо хтось хотів би перевірити ці результати за допомогою програми із вбудованим інструментом граничних ефектів для моделей Tobit, мені було б цікаво побачити порівняння. Будь-які коментарі та виправлення будуть дуже вдячні.
Довідка :
Вулдрідж, Джеффрі М. 2006. Вступна економетрія: сучасний підхід. Томсон Південно-Західний. 3-е видання.
non-conformable arguments
коли я спробую це на прикладі даних, наданихAER::tobit
. Ви не хотіли б спробувати це з прикладом набору даних?