Thursday 26 October 2017

Movimiento Promedio De Datos De Panel Stata


Tengo una lista de personas, tiempos de registro y calificaciones. En Stata quiero calcular una media móvil de la puntuación basada en una ventana de tiempo alrededor de cada observación (no una ventana basada en el número de observaciones atrasado / líder). Por ejemplo, asumiendo / - 2 días a cada lado y sin incluir la observación actual, estoy tratando de calcular algo como esto: he intentado definir el conjunto de datos con tsset y luego usar tssmooth. Pero no podía conseguir que funcionara. Dado que puede haber múltiples observaciones para un período de tiempo dado no estoy seguro de que esto es incluso el enfoque correcto. Además, en realidad la variable day es un tc timestamp. Pidió Dic 6 13 a las 16:04 tsset no puede ayudar aquí, incluso si ha hecho sus tiempos regularmente espaciados, ya que tiene algunos valores repetidos de tiempo, sin embargo, sus datos no califican como datos de panel en sentido Statas. Pero el problema debe ceder a un bucle sobre las posibilidades. En primer lugar, vamos a tomar su ejemplo literalmente con días enteros. Aquí no asumimos valores faltantes. El principio de llevar adelante es el promedio de otros (suma de todos - este valor) / (número de valores - 1) En la práctica, no desea hacer un bucle sobre todas las posibles fechas-veces en milisegundos. Por lo tanto, intente un bucle sobre las observaciones de esta forma. Nota ltpseudocodegt elementos. Este artículo es también relevante: si las faltas son posibles, una línea debe ser más complicada: es decir, si falta el valor actual, restamos 0 de la suma y 0 del recuento de observaciones. EDIT: Durante 2 días en milisegundos, explotar la función incorporada y usar cofd (2). Esta estructura de datos es bastante inapropiado para el propósito. Asumiendo un id de identificador que necesita para remodelar. p. ej. Entonces una media móvil es fácil. Utilice tssmooth o simplemente genere. p. ej. Más sobre por qué su estructura de datos es bastante inapropiada: No sólo el cálculo de un promedio móvil necesita un bucle (no necesariamente involucrando egen), sino que estaría creando varias nuevas variables adicionales. Usarlos en cualquier análisis subsecuente sería algo entre incómodo e imposible. EDIT III dar un bucle de muestra, mientras que no se mueve de mi postura que es mala técnica. No veo una razón detrás de su convención de nombrar por lo que P1947 es un medio para 1943-1945 Supongo que es sólo un error tipográfico. Supongamos que tenemos datos para 1913-2012. Por medios de 3 años, perdemos un año en cada extremo. Eso podría escribirse más concisamente, a expensas de una ráfaga de macros dentro de macros. Usando pesos desiguales es fácil, como arriba. La única razón para usar egen es que no se da por vencido si hay fallos, lo que hará lo anterior. Como una cuestión de integridad, tenga en cuenta que es fácil de manejar faltas sin recurrir a egen. Y el denominador Si faltan todos los valores, esto se reduce a 0/0, o falta. De lo contrario, si falta algún valor, agregamos 0 al numerador y 0 al denominador, lo cual equivale a ignorarlo. Naturalmente el código es tolerable como arriba para los promedios de 3 años, pero para ese caso o para el promediado durante más años, reemplazaríamos las líneas por encima por un lazo, que es lo que hace egen. Stata: Análisis de Datos y Software Estadístico Nicholas J , Y sus limitaciones El comando más obvio de Statarsquos para calcular promedios móviles es la función ma () de egen. Dada una expresión, crea un promedio móvil de esa expresión. De forma predeterminada, se toma como 3. debe ser impar. Sin embargo, como indica la entrada manual, egen, ma () no se puede combinar con varlist:. Y, por esa sola razón, no es aplicable a los datos de los grupos especiales. En cualquier caso, se encuentra fuera del conjunto de comandos específicamente escritos para las series de tiempo ver series de tiempo para más detalles. Métodos alternativos Para calcular las medias móviles de los datos del panel, hay al menos dos opciones. Ambos dependen de que el conjunto de datos haya sido tsset de antemano. Esto vale mucho la pena: no sólo puede ahorrarse repetidamente especificando la variable de panel y la variable de tiempo, pero Stata se comporta de manera inteligente dada lagunas en los datos. 1. Escriba su propia definición utilizando generate Usando operadores de series de tiempo como L. y F.. Dar la definición de la media móvil como el argumento a una declaración de generar. Si lo hace, naturalmente, no está limitado a los promedios móviles ponderados (no ponderados) centrados calculados por egen, ma (). Por ejemplo, los promedios móviles de tres periodos ponderados por igual estarían dados por y algunos pesos pueden ser fácilmente especificados: Usted puede, por supuesto, especificar una expresión como log (myvar) en lugar de un nombre de variable como myvar. Una gran ventaja de este enfoque es que Stata hace automáticamente lo correcto para los datos del panel: los valores de avance y retraso se calculan dentro de paneles, tal como la lógica dicta que deberían ser. La desventaja más notable es que la línea de comandos puede ser bastante larga si el promedio móvil implica varios términos. Otro ejemplo es una media móvil unilateral basada sólo en valores anteriores. Esto podría ser útil para generar una expectativa adaptativa de lo que una variable se basará puramente en la información hasta la fecha: ¿qué podría alguien prever para el período actual basado en los últimos cuatro valores, utilizando un esquema de ponderación fijo? Especialmente utilizado con series de tiempos trimestrales.) 2. Utilice egen, filter () de SSC Utilice el filtro de función egen escrito por el usuario () del paquete egenmore en SSC. En Stata 7 (actualizado después del 14 de noviembre de 2001), puede instalar este paquete después de que ayuda egenmore señala los detalles en filter (). Los dos ejemplos anteriores serían renderizados (en esta comparación el enfoque de generar es tal vez más transparente, pero veremos un ejemplo de lo contrario en un momento). Los retrasos son un numlist. Los conductores son retardos negativos: en este caso -1/1 se expande a -1 0 1 o el plomo 1, retrasa 0, retraso 1. Los coeficientes, otro numlist, multiplican los artículos retrasados ​​o principales relevantes: en este caso esos artículos son F1.myvar. Myvar y L1.myvar. El efecto de la opción normalizar es escalar cada coeficiente por la suma de los coeficientes para que coef (1 1 1) normalize sea equivalente a coeficientes de 1/3 1/3 1/3 y coef (1 2 1) normalizar es equivalente A coeficientes de 1/4 1/2 1/4. Debe especificar no sólo los rezagos, sino también los coeficientes. Debido a que egen, ma () proporciona el caso igualmente ponderado, la razón principal para egen, filter () es apoyar el caso desigualmente ponderado, para el cual debe especificar coeficientes. También podría decirse que obligar a los usuarios a especificar coeficientes es un poco más de presión sobre ellos para pensar qué coeficientes quieren. La principal justificación para pesos iguales es, suponemos, la simplicidad, pero los pesos iguales tienen propiedades de dominio de frecuencia pésimas, por mencionar sólo una consideración. El tercer ejemplo anterior podría ser cualquiera de los cuales es casi tan complicado como el enfoque de generar. Hay casos en que egen, filter () da una formulación más simple que generar. Si desea un filtro binomial de nueve términos, que los climatólogos encuentran útil, entonces parece quizás menos horrible que, y más fácil de conseguir que, como con el enfoque de generar, egen, filter () funciona correctamente con los datos del panel. De hecho, como se indicó anteriormente, depende de que el conjunto de datos haya sido tsset de antemano. Una punta gráfica Después de calcular sus promedios móviles, es probable que desee ver un gráfico. El comando escrito por el usuario tsgraph es inteligente acerca de conjuntos de datos tsset. Instálelo en un Stata 7 actualizado por ssc inst tsgraph. ¿Qué pasa con subconjunto con si ninguno de los ejemplos anteriores hacer uso de si las restricciones. De hecho, egen, ma () no permitirá si se especifica. Ocasionalmente la gente quiere usar si al calcular promedios móviles, pero su uso es un poco más complicado de lo que suele ser. ¿Qué esperaría de un promedio móvil calculado con if. Identificemos dos posibilidades: Interpretación débil: No quiero ver ningún resultado para las observaciones excluidas. Interpretación fuerte: Ni siquiera quiero que uses los valores de las observaciones excluidas. He aquí un ejemplo concreto. Suponga como consecuencia de alguna condición if, las observaciones 1-42 están incluidas pero no las observaciones 43 sobre. Pero el promedio móvil de 42 dependerá, entre otras cosas, del valor de observación 43 si el promedio se extiende hacia atrás y hacia adelante y es de longitud por lo menos 3, y dependerá también de algunas de las observaciones 44 en adelante en algunas circunstancias. Nuestra conjetura es que la mayoría de la gente iría para la interpretación débil, pero si eso es correcto, egen, filter () no apoya si cualquiera. Siempre se puede ignorar lo que donrsquot quieren o incluso establecer valores no deseados a falta después mediante el uso de reemplazar. Una nota sobre los resultados faltantes en los extremos de la serie Debido a que los promedios móviles son funciones de retrasos y derivaciones, egen, ma () produce falta donde no existen los retrasos y las derivaciones, al principio y al final de la serie. Una opción nomiss obliga al cálculo de promedios móviles más cortos y no centrados para las colas. En contraste, ni generar ni egen, filter () hace, o permite, nada especial para evitar resultados faltantes. Si falta alguno de los valores necesarios para el cálculo, faltará ese resultado. Corresponde a los usuarios decidir si y qué cirugía correctiva se requiere para tales observaciones, presumiblemente después de mirar el conjunto de datos y considerar cualquier ciencia subyacente que pueda ser llevada a cabo.

No comments:

Post a Comment