Friday 9 February 2018

How to calcul propensity score in stata forex


Compensação de proporção de propensão 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 várias 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, portanto, mudar de psmatch2 para teffects psmatch. E este artigo irá ajudá-lo a fazer a transição. Um exemplo de correspondência 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. Este é um dado construído, 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 mal 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. Em primeiro lugar, o psmatch2, por padrão, 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 calcula o efeito médio do tratamento no tratamento (que ele se refere como ATET) se for dada a opção atet. Segundo, 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 porque isso é em breve), além de uma estatística Z, p-value e intervalo de confiança 95 em vez de apenas uma estatística T. O desempenho de 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 um pouco diferente neste modelo. O comando teffects informa 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 conta que o escore de propensão é 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: combinar com base em resultados de propensão estimados resulta ser mais eficiente do que combinar com base em resultados 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. Manuseando gravatas Até agora usamos psmatch2 e teffects psmatch para fazer uma correspondência mais simples com um vizinho (e sem compasso). 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 psp 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 à medida que você obteve do psmatch2, a menos que você volte e adicione a opção tie aos seus comandos psmatch2. (Neste momento, não temos conhecimento de nenhuma orientação clara sobre se é melhor combinar com laços ou não.) Correspondência com vários vizinhos Por padrão, teffects psmatch corresponde a 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, teffects psmatch não adiciona 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 combinada. Se há 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 observações previram 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 Porque a observação 1 está no grupo controle, y0 contém o valor observado de y. Y1 é o valor observado de y para a correspondência de 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 teria sido o da observação no grupo tratado mais parecido com isso (Quando 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 é tudo o equivalente a usar a correspondência para estimar o resultado de uma observação teria sido se tivesse sido no outro grupo, conforme descrito acima. Às vezes, os pesquisadores então querem executar regressões na amostra quantitativa, definida como as observações no grupo tratado, mais as observações no grupo de controle que foram correspondentes a elas. O problema com esta 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 as observações no grupo tratado, o peso é 1. Para observações no grupo de 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 pontuaçã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 da 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 salve o conjunto de dados completo mantenha se t mantenha 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 contam 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 renomear para fins de mesclagem mesge 1: m ob usando fulldata fusionar de volta para o total de dados substituir o peso1 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 usando o 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 controle. Cerca de 13 delas 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 costumam usar a opção norepl (sem substituição) em psmatch2 para garantir que cada observação seja usada apenas uma vez, embora isso geralmente torne a piorar. Para o nosso melhor 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 fweight) melhora neste caso: Outros métodos de estimativa Efeitos do tratamento Embora a correspondência 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 de vizinho mais próximo (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), atet teffects psmatch (y) (t X1 x2) psmatch2 t x1 x2, out (y) logit come teffects psmatch (y) (t x1 x2), atet use ssc. wisc. edussccpubsfilespsm, substitua teffects psmatch (y) (t x1 x2), gen (match) prediz Ps0 ps1, ps predição 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 obn save fulldata, substituir teffects psmatch (y) (T x1 x2), gen (match) mantenha se t manter a partida 1 bysort match1: gen weightN por match1: keep if n1 ren match1 ob merge 1: m ob usando fulldata replaceweight1 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: 2162017ARCHIVED: Em Stata, como faço para realizar a classificação de propensão Stata não tem 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 e subclassificação. Você pode encontrar esses módulos usando o comando. net da seguinte maneira: Você pode instalar esses módulos usando o comando. ssc ou. net, 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 software estatístico e 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 funcionários estão disponíveis para consultas de segunda a sexta-feira, 9:00 horas, e com compromisso. Este documento está disponível na Base de Conhecimento. Última modificação em 2017-06-30 00:00:00.

No comments:

Post a Comment