Esta estructura de datos es bastante inapropiada para el propósito. Asumiendo un id de identificador que usted 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 promedio durante más años, reemplazaríamos las líneas arriba por un bucle, que es lo que hace egen. Si ve este mensaje, su navegador Ha inhabilitado o no admite JavaScript. Para utilizar todas las funciones de este sistema de ayuda, como la búsqueda, el navegador debe tener habilitado JavaScript. Promedios móviles ponderados con promedios móviles simples, cada valor de datos en la quotwindow en la que se realiza el cálculo tiene un significado o peso igual. A menudo es el caso, especialmente en el análisis de datos de precios financieros, que más datos cronológicamente recientes deberían tener un peso mayor. En estos casos, a menudo se prefiere la funcionalidad de Promedio móvil ponderado (o Promedio móvil exponencial, véase el tema siguiente). Considere la misma tabla de valores de datos de ventas durante doce meses: Para calcular una media móvil ponderada: Calcule cuántos intervalos de datos están participando en el cálculo del promedio móvil (es decir, el tamaño de la ventana de cálculo). Si se dice que la ventana de cálculo es n, entonces el valor de datos más reciente en la ventana se multiplica por n, el siguiente más reciente multiplicado por n-1, el valor anterior al multiplicado por n-2 y así sucesivamente para todos los valores en la ventana. Divida la suma de todos los valores multiplicados por la suma de los pesos para dar el Promedio móvil ponderado sobre esa ventana. Coloque el valor del Promedio Movido Ponderado en una nueva columna de acuerdo con la posición de promedio de arrastre descrita anteriormente. Para ilustrar estos pasos, considere si se requiere un promedio móvil ponderado de ventas de 3 meses en diciembre (usando la tabla anterior de valores de ventas). El término quot3-monthquot implica que el cálculo quotwindowquot es 3, por lo tanto el algoritmo de cálculo del Promedio Movido Ponderado para este caso debería ser: O, si un promedio móvil ponderado de 3 meses fue evaluado en todo el rango original de datos, los resultados serían : 3 meses de media móvil ponderada Estadísticas: Análisis de datos y software estadístico Nicholas J. Cox, Universidad de Durham, Reino Unido Christopher Baum, Universidad de Boston egen, ma () y sus limitaciones Statarsquos comando más obvio para calcular promedios móviles es la función ma () 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 series de tiempo ver series de tiempo para 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 quieres un filtro binomial de nueve términos, que los climatólogos encuentren útil, entonces parece quizás menos horrible que, y más fácil de conseguir que justo, así 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