Miałem ten sam problem („non-conformable arguments
”), o którym @ hans0l0 wspominał w komentarzu powyżej. Myślę, że rozwiązałem ten problem i spróbuję wyjaśnić tutaj.
Po pierwsze, w równaniu w oryginalnym poście występuje błąd. Powinien to być Po drugim jest indeks dolny, ale nie po pierwszym. W modelu Tobita efekt krańcowy zmiennej jest determinowany nie tylko przez współczynnik tej konkretnej zmiennej ( ); wymagany jest również współczynnik korygujący, który jest obliczany na podstawie wartości innych zmiennych w modelu ( ).ϕ (x β / σ )βjotβxjotβjotϕ (x β / σ )
Z Wooldridge 2006 (s. 598):
Współczynnik dopasowania… zależy od funkcji liniowej , . Można wykazać, że współczynnik dostosowania mieści się w przedziale od zera do jednego.xx β / σ = (β0+β1x1+ … +βkxk) / σ
Ten współczynnik dostosowania oznacza, że musimy dokonać wyboru wartości innych zmiennych w modelu: „musimy wprowadzić wartości x j , zwykle wartości średnie lub inne interesujące wartości” (Wooldridge 2006, s. 598). Tak więc ogólnie byłby to środek, ale może to być również mediana, kwartyl górny / dolny lub cokolwiek innego. Odnosi się to do tego, dlaczego @ hans0l0 i ja otrzymywaliśmy non-conformable argument
błędy „ ”, gdy korzystaliśmy z powyższego kodu Alexa: „ x
” w tym kodzie będzie wektorem, gdy potrzebujemy jednej wartości zmiennej (średnia / mediana / itp.) . Uważam, że w powyższym kodzie jest również inny błąd polegający na tym, że wyklucza on wartość przechwytywania z terminu korekty (w [-1]
skrypcie po pierwszym użyciureg$coef
). Rozumiem to (ale cieszę się, że mogę to poprawić), że termin korekty powinien obejmować punkt przecięcia ( z góry).β0
To powiedziawszy, oto przykład z wykorzystaniem zestawu danych z 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
Ważne, aby powtórzyć: są to efekty marginalne tylko w przypadkach, gdy y jest dodatni (tj. Wydarzyła się co najmniej jedna sprawa) i przy średnich wartościach wszystkich zmiennych objaśniających.
Jeśli ktoś chciałby sprawdzić te wyniki za pomocą programu z wbudowanym narzędziem efektów krańcowych dla modeli Tobita, byłbym ciekawy porównania. Wszelkie uwagi i poprawki będą mile widziane.
Odniesienie :
Wooldridge, Jeffrey M. 2006. Wstępne ekonometria: nowoczesne podejście. Południowo-zachodni Thomson. 3. edycja.
non-conformable arguments
gdy próbuję to zrobić z przykładowymi danymi dostarczonymi przezAER::tobit
. Czy mógłbyś spróbować z przykładowym zestawem danych?