3 votos

Rellenar una matriz - efecto en los análisis estadísticos

Tengo los datos de las series temporales de un montón de acciones de sus grupos específicos (índices de mercado), y me gustaría realizar algunas pruebas cuantitativas en ellos como un grupo. Digamos, por ejemplo, que tengo 30 acciones durante un período de 10 años con información diaria. Está almacenada como una celda (en Matlab), así que básicamente es una matriz con 30 columnas y 2520 (10 x 252 días de negociación en un año) filas. Digamos que quiero encontrar la matriz de correlación, es decir, la correlación entre cada par de acciones. Para ello se necesita una matriz regular (rectangular), pero mi problema es que, digamos, 3 de las acciones aparecieron hace sólo 8, 6 y 5 años, por lo que sus columnas tienen 2, 4 y 5 años menos que las demás, respectivamente.

Tengo dos opciones para obtener mi matriz rectangular

  1. La eliminación de todos los datos que se remontan más allá de la "fecha de inicio" más antigua de una acción, lo que significa perder 5 años de datos en mi ejemplo, no es realmente una opción.
  2. rellenar, "rellenar", las columnas más cortas para que tengan la misma longitud que las más largas.

Ya he eliminado uno o dos valores por ser realmente jóvenes, y ahora quiero rellenar los pocos valores restantes que tienen series temporales más cortas.

Mi pregunta es: ¿hasta qué punto se verán afectados mis resultados si relleno esas columnas y realizo los análisis (correlación, etc.)?

¿Serían insignificantes los errores? ¿Puedo minimizarlos con mi elección de lo que los relleno? He considerado usar 'NaN' en Matlab, ya que funciona de forma neutral en muchos otros análisis, pero aquí daría un error. Mi siguiente opción sería rellenar con cero, o con el valor medio de esa columna (es decir, el precio medio de las acciones en la serie temporal).

¿Alguna otra idea, o el acolchado es un completo no-no?

Gracias de antemano

2voto

AdamSane Puntos 1825

La información sobre la correlación de las series más cortas con las más largas está en la información que tienes. ¿Cómo piensas "rellenar" las series de forma que se añada a la información disponible sobre esa correlación concreta?

Es posible que pueda utilizar alguna forma de imputación, pero si eso ayudara tendería a implicar alguna estructura entre las variables que probablemente debería estar directamente en su modelo para la estructura de dependencia.

Por supuesto, es muy posible que quiera utilizar series más largas para estimar la correlación entre las series que tienen más datos*. El problema en este caso es mantener una matriz definida positiva; se pueden adoptar enfoques como la estimación de las SVD o las descomposiciones de Choleski de las correlaciones, o simplemente encontrar la matriz psd más cercana (en cierto sentido) a la estimada por pares.

*(aunque incluso en ese caso, esperar que la correlación sea constante a lo largo de periodos largos rara vez tendría sentido, en cuyo caso el pasado lejano probablemente debería tener menos peso en cualquier caso).

1voto

Silvercode Puntos 438

Algunas reflexiones, de las que sólo tengo una cierta confianza:

El relleno parece que puede llevar a un análisis autocumplido o distorsionar la distribución. No he pensado en esto en el contexto de las series temporales, pero suena similar a la "imputación de la media" en las estadísticas longitudinales/de encuesta Por ejemplo .

¿Otra opción sería estimar las covarianzas cruzadas de cada serie temporal por separado utilizando la mayor longitud disponible para cada par? Luego ponerlas juntas en una matriz. Estoy seguro de que esto dificultaría mucho los cálculos sobre los errores estándar, etc., pero utilizaría más datos sin necesidad de manipularlos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X