Sunday 31 December 2017

How to calcul propensity score in stata forex


ARQUIVADO: Em Stata, como faço para obter correspondência de propensão, o Stata não possui um comando integrado para a correspondência de propensão, um método de amostragem não experimental que produz um grupo de controle cuja distribuição de covariáveis ​​é semelhante à do grupo tratado . No entanto, existem vários módulos escritos pelo usuário para este método. Os seguintes módulos estão entre os mais populares: psmatch2.ado foi desenvolvido por Leuven e Sianesi (2003) e pscore. ado por Becker e Ichino (2002). Mais recentemente, Abadie, Drukker, Herr e Imbens (2004) apresentaram nnmatch. ado. Todos os três módulos suportam par-matching, bem como a subclassificação. Você pode encontrar esses módulos usando o comando da seguinte maneira: Você pode instalar esses módulos usando o. ssc ou o comando, por exemplo: Após a instalação, leia os arquivos de ajuda para encontrar o uso correto, por exemplo: Se você tiver dúvidas sobre o uso de estatísticas e Software matemático na Universidade de Indiana, entre em contato com Research Analytics. O Research Analytics está localizado no campus da IU Bloomington no Woodburn Hall 200 estão disponíveis para consulta de segunda a sexta-feira, 9 de novembro e com compromisso. Este documento está disponível na Base de Conhecimento. Última modificação em 2017-06-30 00:00:00. Correspondência de pontuação de propriedade em Stata usando teffects Por muitos anos, a ferramenta padrão para a correspondência de propensão em Stata foi o comando psmatch2, escrito por Edwin Leuven e Barbara Sianesi. No entanto, a Stata 13 introduziu um novo comando de teffects para estimar os efeitos dos tratamentos de diversas maneiras, incluindo a correspondência de propensão. O comando psps de teffects tem uma vantagem muito importante sobre o psmatch2. Leva em conta o fato de que as pontuações de propensão são estimadas em vez de serem conhecidas no cálculo de erros padrão. Isso muitas vezes acaba por fazer uma diferença significativa, e às vezes de maneiras surpreendentes. Recomendamos, por isso, mudar de psmatch2 para teffects psmatch. E este artigo irá ajudá-lo a fazer a transição. Um exemplo de compatibilidade de pontuação de propensão Execute o seguinte comando no Stata para carregar um conjunto de dados de exemplo: consiste em quatro variáveis: um indicador de tratamento t. Covariamos x1 e x2. E um resultado, y. Isto é dados construídos, e o efeito do tratamento é de fato um aumento de uma unidade em y. No entanto, a probabilidade de tratamento está positivamente correlacionada com x1 e x2. E ambos x1 e x2 estão positivamente correlacionados com y. Assim, simplesmente comparar o valor médio de y para os grupos tratados e não tratados superestima o efeito do tratamento: (Regressing y on t. X1. E x2 lhe dará uma imagem muito boa da situação.) O comando psmatch2 lhe dará uma Estimativa muito melhor do efeito do tratamento: psmatch2 t x1 x2, out (y) The teffects Command Você pode realizar a mesma estimativa com teffects. A sintaxe básica do comando teffects quando usada para a correspondência de propensão é: teffects psmatch (resultado) (covariáveis ​​de tratamento). Neste caso, o comando básico seria: teffects psmatch (y) (t x1 x2) No entanto, o comportamento padrão de teffects Não é o mesmo que o psmatch2, é preciso usar algumas opções para obter os mesmos resultados. Primeiro, o psmatch2 por defeito relata o efeito médio do tratamento no tratamento (o qual ele se refere como ATT). O comando teffects por defeito relata o efeito médio do tratamento (ATE), mas calculará o efeito médio do tratamento no tratamento (que ele se refere como ATET) se for dada a opção atet. Em segundo lugar, o psmatch2, por padrão, usa um modelo probit para a probabilidade de tratamento. O comando teffects usa um modelo logit por padrão, mas usará probit se a opção probit for aplicada à equação do tratamento. Então, execute o mesmo modelo usando o tipo de teffects: teffects psmatch (y) (t x1 x2, probit), atet O efeito médio do tratamento no tratamento é idêntico, além de ser arredondado em um lugar diferente. Mas note que os teffects relatam um erro padrão muito diferente (bem, discuta por que isso é em breve), além de uma estatística Z, p-valor e intervalo de confiança 95 em vez de apenas uma estatística T. Executar teffects com as opções padrão dá o seguinte: teffects psmatch (y) (t x1 x2) Isto é equivalente a: psmatch2 t x1 x2, out (y) logit come O ATE deste modelo é muito semelhante ao ATTATET do anterior modelo. Mas note que o psmatch2 está reportando um ATT algo diferente neste modelo. O comando teffects relata o mesmo ATET se solicitado: teffects psmatch (y) (t x1 x2), atet Erros padrão A saída de psmatch2 inclui a seguinte advertência: Nota: S. E. Não leva em consideração que o escore de propensão seja estimado. Um artigo recente de Abadie e Imbens (2017. Correspondendo à pontuação de propensão estimada, a Universidade de Harvard e o Escritório Nacional de Pesquisa Econômica) estabeleceram como levar em consideração que as pontuações de propensão são estimadas, e os teffects psmatch dependem de seu trabalho. Curiosamente, o ajuste para ATE é sempre negativo, levando a erros padrão menores: a correspondência com base nas pontuações de propensão estimada resulta ser mais eficiente do que a correspondência com base nas classificações de propensão verdadeira. No entanto, para ATET, o ajuste pode ser positivo ou negativo, então os erros padrão relatados por psmatch2 podem ser muito grandes ou pequenos. Manipulando gravatas Até agora, usamos psmatch2 e teffects psmatch para fazer uma correspondência mais simples com um vizinho (e sem calibre). No entanto, isso levanta a questão do que fazer quando duas observações têm a mesma pontuação de propensão e, portanto, estão ligadas para o vizinho mais próximo. Os gravatas são comuns se as covariáveis ​​no modelo de tratamento são categóricas ou mesmo inteiras. O comando psmatch2, por padrão, coincide com uma das observações vinculadas, mas com a opção de laços que corresponde a todas as observações vinculadas. O comando psps de teffects sempre coincide com todos os laços. Se o seu conjunto de dados tiver múltiplas observações com o mesmo índice de propensão, você não obterá exatamente os mesmos resultados de teffects psmatch que você obteve do psmatch2, a menos que você volte e adicione a opção de gravatas aos seus comandos psmatch2. (Neste momento, não temos conhecimento de nenhuma orientação clara sobre se é melhor combinar com os laços ou não.) Correspondência com vários vizinhos Por padrão, teffects psmatch combina cada observação com outra observação. Você pode mudar isso com a opção nneighbor () (ou apenas nn ()). Por exemplo, você pode combinar cada observação com seus três vizinhos mais próximos com: teffects psmatch (y) (t x1 x2), nn (3) Postestimação Por padrão, os teffects psmatch não adicionam novas variáveis ​​ao conjunto de dados. No entanto, existem várias variáveis ​​úteis que podem ser criadas com opções e comandos de previsão pós-estimativa. A tabela a seguir lista as observações 1 e 467 do conjunto de dados de exemplo depois que algumas dessas variáveis ​​foram criadas. Bem, consulte-se como explicamos os comandos que criaram as novas variáveis. Revisar essas variáveis ​​também é uma boa maneira de se certificar de que você entende exatamente como funciona a correspondência de propensão. Comece com uma ardósia limpa digitando: use ssc. wisc. edussccpubsfilespsm, substitua A opção gen () diz teffects psmatch para criar uma nova variável (ou variáveis). Para cada observação, esta nova variável conterá o número da observação com a qual a observação foi correspondida. Se houver laços ou você disse a teffects psmatch para usar vários vizinhos, então gen () precisará criar múltiplas variáveis. Assim, você fornece o tronco do nome da variável, e os teffects psmatch adicionarão sufixos conforme necessário. Teffects psmatch (y) (t x1 x2), gen (match) Neste caso, cada observação é compatível com uma outra, então gen (match) só cria match1. Referindo-se ao exemplo de saída, a correspondência da observação 1 é a observação 467 (e é por isso que esses dois estão listados). Observe que esses números de observação são válidos somente na ordem de classificação atual, então certifique-se de que você pode recriar essa ordem, se necessário. Se necessário, execute: para restaurar a ordem de classificação atual. O comando de previsão com a opção ps cria duas variáveis ​​que contêm os índices de propensão ou que as previsões predizeram a probabilidade de estar no grupo de controle ou no grupo tratado: prever ps0 ps1, ps Aqui ps0 é a probabilidade prevista de estar no grupo de controle ( T0) e ps1 é a probabilidade prevista de estar no grupo tratado (t1). As observações 1 e 467 foram combinadas porque os seus índices de propensão são muito semelhantes. A opção po cria variáveis ​​que contêm os resultados potenciais para cada observação: preveja y0 y1, po. Uma vez que a observação 1 está no grupo controle, y0 contém o valor observado de y. Y1 é o valor observado de y para a observação 1s, observação 467. O estimador de correspondência de propensão de propensão pressupõe que se a observação 1 tivesse sido no grupo tratado, o valor de y seria a observação no grupo tratado mais parecido com ele (Onde quotsimilarityquot é medido pela diferença em suas pontuações de propensão). A observação 467 está no grupo tratado, então seu valor para y1 é seu valor observado de y enquanto seu valor para y0 é o valor observado de y para sua correspondência, observação 781. A execução do comando de previsão sem opções dá o próprio efeito de tratamento: O efeito do tratamento é simplesmente a diferença entre y1 e y0. Você poderia calcular o ATE você mesmo (mas enfaticamente não é seu erro padrão) com: e o ATET com: Regressão no QuotMatched Samplequot Outra maneira de conceituar a correspondência de propensão é pensar que ele escolhe uma amostra do grupo de controle que quotmatchesquot o tratamento grupo. Todas as diferenças entre o tratamento e os grupos de controle correspondentes são então considerados como resultado do tratamento. Observe que isso dá o efeito médio do tratamento no tratado8212 para calcular o ATE, você criou uma amostra do grupo tratado que corresponde aos controles. Matematicamente, isso é todo o equivalente a usar correspondência para estimar o resultado de uma observação teria sido se tivesse sido no outro grupo, como descrito acima. Às vezes, os pesquisadores querem então executar regressões na amostra quotmatched, que é definida como as observações no grupo tratado mais as observações no grupo de controle que foram correspondentes a elas. O problema com essa abordagem é que a amostra correspondente é baseada em resultados de propensão que são estimados, desconhecidos. Assim, o esquema de correspondência também é uma estimativa. A execução de regressões após a correspondência é essencialmente um modelo de regressão em dois estágios, e os erros padrão do segundo estágio devem levar em consideração a primeira etapa, algo que os comandos de regressão padrão não fazem. Esta é uma área de pesquisa em andamento. Vamos discutir como executar regressões em uma amostra correspondente porque continua sendo uma técnica popular, mas não podemos recomendá-la. O psmatch2 facilita a criação de uma variável de peso automaticamente. Para observações no grupo tratado, o peso é 1. Para observações no grupo controle é o número de observações do grupo tratado para o qual a observação é uma correspondência. Se a observação não é uma partida, falta peso. O peso, portanto, atua como um peso de freqüência (peso) e pode ser usado com a sintaxe de ponderação padrão da Statas. Por exemplo (começando com uma ardósia limpa novamente): use ssc. wisc. edussccpubsfilespsm, substitua psmatch2 t x1 x2, out (y) logit reg y x1 x2 t fweight Observações com um valor faltante para o peso são omitidas na regressão, então É automaticamente limitado à amostra correspondente. Novamente, lembre-se de que os erros padrão fornecidos pelo comando reg estão incorretos porque eles não levam em consideração o estágio correspondente. Teffects psmatch não cria uma variável de peso, mas é possível criar uma baseada na variável match1. Aqui está o código de exemplo, com comentários: gen obn armazene os números de observação para uso futuro save fulldata, substitua salvar o conjunto de dados completo mantenha se t manter apenas o grupo tratado mantenha a partida1 mantenha apenas a variável match1 (os números de observação de suas correspondências) bysort Match1: gen weightN count quantas vezes cada observação de controle é uma correspondência por match1: mantenha se n1 mantenha apenas uma linha por observação de controle ren match1 ob rename para fins de mesclagem mesge 1: m ob usando fulldata fusione novamente no valor total de substituição de dados1 se T ajuste o peso para 1 para observações tratadas A variável de peso resultante será idêntica à variável de peso criada por psmatch2. Como pode ser verificado com: É usado da mesma maneira e dará exatamente os mesmos resultados: reg y x1 x2 t fweightweight Obviamente, este é um pouco mais de trabalho do que o uso de psmatch2. Se o seu modelo de correspondência de propensão pode ser feito usando tanto teffects psmatch quanto psmatch2. Você pode querer executar teffects psmatch para obter o erro padrão correto e, em seguida, psmatch2 se precisar de uma variável de peso. Esta regressão tem um N de 666, 333 do grupo tratado e 333 do grupo controle. No entanto, ele só usa 189 observações diferentes do grupo de controle. Cerca de 13 deles são as correspondências para mais de uma observação do grupo tratado e, portanto, são duplicadas na regressão (use o peso da guia se for para detalhes). Os pesquisadores às vezes usam a opção norepl (sem substituição) em psmatch2 para garantir que cada observação seja usada apenas uma vez, mesmo que isso geralmente torne a pioração. Até o melhor de nosso conhecimento, não há equivalente com teffects psmatch. Os resultados desta regressão deixam um pouco a desejar: por construção, todos os coeficientes devem ser 1. A regressão usando todas as observações (reg y x1 x2 t em vez de reg y x1 x2 t fweightweight) é melhor neste caso: Outros métodos de estimativa Efeitos do tratamento Embora a correspondência de pontuação de propensão seja o método mais comum de estimar os efeitos do tratamento no SSCC, os teffects também implementam o ajuste de regressão (teffects ra), a ponderação de probabilidade inversa (teffects ipw), a ponderação de probabilidade inversa aumentada (teffects aipw), a regressão ponderada de probabilidade inversa Ajuste (teffects ipwra) e Correspondência vizinha mais próxima (teffects nnmatch). A sintaxe é semelhante, embora varie se você precisa especificar variáveis ​​para o modelo de resultado, o modelo de tratamento, ou ambos: teffects ra (y x1 x2) (t) teffects ipw (y) (t x1 x2) teffects aipw (y X1 x2) (t x1 x2) teffects ipwra (y x1 x2) (t x1 x2) teffects nnmatch (y x1 x2) (t) Exemplo completo do código O seguinte é o código completo para os exemplos neste artigo. Limpe todo o uso ssc. wisc. edussccpubsfilespsm ttest y, por (t) reg y x1 x2 t psmatch2 t x1 x2, out (y) teffects psmatch (y) (t x1 x2, probit), teffects atet psmatch (y) (t X1 x2) psmatch2 t x1 x2, out (y) logit come teffects psmatch (y) (t x1 x2), use-se ssc. wisc. edussccpubsfilespsm, substitua teffects psmatch (y) (t x1 x2), gen (match) prediz Ps0 ps1, ps prever y0 y1, po prever o l se n1 n467 usar ssc. wisc. edussccpubsfilespsm, substituir psmatch2 t x1 x2, out (y) logit reg y x1 x2 t fweightweight gen obn salvar fulldata, substituir teffects psmatch (y) (T x1 x2), gen (match) manter se t manter match1 bysort match1: gen weightN por match1: keep if n1 ren match1 ob merge 1: m ob usando fulldata substituir o peso1 se t reg y x1 x2 t fweightweight y x1 x2 T teffects ra (y x1 x2) (t) teffects ipw (y) (t x1 x2) teffects aipw (y x1 x2) (t x1 x2) teffects ipwra (y x1 x2) (t x1 x2) teffects nnmatch (y x1 X2) (t) Última revisão: 2162017

No comments:

Post a Comment