Eu tive o mesmo problema (“ non-conformable arguments
”) que @ hans0l0 mencionado no comentário acima. Acho que resolvi isso e tentarei explicar aqui.
Primeiro, há um erro na equação no post original. Deve ser ou seja, existe um índice subscrito após o segundo mas não após o primeiro. Em um modelo Tobit, o efeito marginal de uma variável é determinado não apenas pelo coeficiente dessa variável específica (o ); também é necessário um fator de ajuste que seja calculado a partir dos valores de outras variáveis no modelo ( ).ϕ (x β / σ ) βjβxjβjϕ (x β / σ )
De Wooldridge 2006 (p. 598):
O fator de ajuste… depende de uma função linear de , . Pode ser demonstrado que o fator de ajuste está estritamente entre zero e um.xx β / σ = ( β0 0+ β1 1x1 1+ … + Βkxk) / σ
Esse fator de ajuste significa que temos que fazer uma escolha sobre os valores das outras variáveis no modelo: “devemos inserir valores para x j , geralmente os valores médios ou outros valores interessantes” (Wooldridge 2006, p598). Portanto, geralmente essa seria a média, mas também poderia ser a mediana, o quartil superior / inferior ou qualquer outra coisa. Isso está relacionado ao motivo pelo qual @ hans0l0 e eu estávamos recebendo os non-conformable argument
erros “ ” quando estávamos usando o código de Alex acima: o “ x
” nesse código será um vetor quando o que precisamos é de um valor único para a variável (média / mediana / etc) . Acredito que também haja outro erro no código acima, pois exclui o valor de interceptação do termo de ajuste (com o [-1]
script após o primeiro uso dereg$coef
) Meu entendimento disso (mas estou feliz em ser corrigido) é que o termo de ajuste deve incluir a interceptação (o de cima).β0 0
Dito isso, aqui está um exemplo usando o conjunto de dados de 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
Importante reiterar: esses são efeitos marginais apenas nos casos em que y é positivo (ou seja, pelo menos um caso ocorreu) e nos valores médios de todas as variáveis explicativas.
Se alguém gostaria de verificar esses resultados usando um programa com uma ferramenta de efeitos marginais integrada para os modelos Tobit, ficaria curioso para ver a comparação. Quaisquer comentários e correções serão muito apreciados.
Referência :
Wooldridge, Jeffrey M. 2006. Econometria Introdutória: Uma Abordagem Moderna. Thomson South-Western. 3ª Edição.
non-conformable arguments
quando eu tento com os dados de exemplo fornecidos porAER::tobit
. Você se importaria de tentar com o exemplo de conjunto de dados?