En el aprendizaje automático, ¿cómo puedo juzgar si algo, como una secuencia, es predecible?

No soy un experto en series de tiempo, pero creo que hay algunos temas generales que puede aplicar que funcionan para muchos problemas. Una de las cosas más simples que puede hacer es observar si la distribución es de cola gruesa: si una cantidad significativa de masa en el PDF se concentra en las colas, entonces el pasado podría no ser un buen indicador del futuro.

Se observan todo tipo de problemas cuando las personas intentan predecir cosas en sistemas complejos: la economía, el clima, los terremotos, etc. Por ejemplo, los ingenieros de Fukushima predijeron que el tiempo esperado para un incidente nuclear con consecuencias fatales fue de 1 millón de años, lo que fue un toro completo desde entonces. ocurrió un evento solo 8 años después de esa predicción.

El lenguaje, la música, el audio y una amplia variedad de problemas de percepción que emplean el modelado de secuencias no exhiben tales fenómenos: no verá vocabularios a la deriva en períodos de tiempo cortos, acentos que cambian rápidamente u otras causas extrañas de cambio covariable.

TLDR: cuando estudias un sistema complejo, solo observas fenómenos de ese sistema en una configuración particular: cualquier cambio leve (muy probable) llevará al sistema a un lugar donde tu modelo sea inútil (y probablemente peligrosamente poco confiable). Crisis de préstamos para la vivienda en 2008 + crisis financiera, fukushima, etc., etc.).

Si entiendo su pregunta correctamente, un ejemplo sería: dada una secuencia de números, ¿cómo puede determinar si la secuencia hubiera sido predecible con solo algunos de los primeros números o, en otras palabras, si hay un patrón en el secuencia.

Algo que viene a la mente es el análisis de series de tiempo, que se usa esencialmente para encontrar un patrón en los datos que varía en el tiempo, y luego usar ese patrón para hacer predicciones en el futuro. Para esto puede usar, por ejemplo, una red neuronal. Sus datos de entrenamiento consistirían en subconjuntos de la secuencia, y para su propósito, probablemente desee truncar primero la secuencia completa para guardar la última parte para la prueba.

Por ejemplo, suponga que su secuencia es {1,2,3,4,5,6,7,8,9}, y que toma k = 2 (donde k es el número de números i su secuencia de prueba) yt = 1 (donde t es la distancia entre los números). Sus datos de prueba serían {7,8} con el objetivo {9}. Sus datos de entrenamiento serían {1,2}, {2,3}, {3,4} y {4,5} con objetivos {3}, {4}, {5} y {6}, respectivamente. (Por lo tanto, su red neuronal tiene 2 entradas y 1 salida). Entrena su red y luego la aplica a sus datos de prueba. Si tiene éxito, sugeriría que su secuencia podría haberse predicho, de lo contrario, al contrario.

Esto es, por supuesto, solo un ejemplo de juguete para aclarar la idea de cómo elegir sus datos de entrenamiento y prueba. Puede haber mejores alternativas para esto. Intenta experimentar por tu cuenta y prueba diferentes valores en k y t.

Sin embargo, no entiendo por qué querría “juzgar si es predictivo”. ¿O tal vez quieres algo como un pequeño cheque antes de hacer algo más costoso computacionalmente? De todos modos, con este método también puede predecir los próximos valores en una secuencia dada.