Estoy escribiendo un programa que promedia el peso del usuario en diferentes días. Estoy planeando usar un promedio móvil de 5 puntos (día actual, dos antes y dos después). A veces, falta un punto de datos durante 1-2 días. ¿Cómo se manejan estos casos generalmente?
(Si hubiera un mejor filtro de paso bajo que pudiera usar, me encantarían las sugerencias)
Respuestas:
Como impresión general, la regresión funcionaría mejor para ajustar automáticamente los puntos faltantes en lugar de un filtro de media móvil que haya elegido.
Si usa un AR (filtro de regresión automática) o un filtro ARMA, puede tener un valor predicho de una salida de muestra basada en entradas anteriores.
Donde X [ i ] es el valor predicho.X^[i]
Específicamente en su caso, digamos que sabe que el peso de la persona tiene un rango específico . Ahora bien, si usted no tiene x [ i - 1 ] valor - aplicar dos sustituciones diferentes - uno con Min y uno con Max y basado en el modelo disponible tendrá dos resultados caso extremo de X [ i ] y se puede elegir algo entre ellosXmax,Xmin x[i−1] X^[i]
Hay varias otras alternativas: puede mantener
Esencialmente es un juego de predicción de dicho valor y continuar usándolo como señal. Por supuesto, la predicción no será la misma que una muestra original, pero ese no es el precio que paga por no tener datos.
fuente
Un método simple y general para completar los datos que faltan, si tiene series de datos completos, es utilizar la
regresión lineal . Digamos que tiene 1000 corridas de 5 seguidas sin que falte ninguna.
Configure el vector 1000 x 1 y la matriz X de 1000 x 4:
La regresión te dará 4 números abcd que dan una mejor coincidencia
para sus 1000 filas de datos : datos diferentes, abc d diferentes.
Luego usa estos abcd para estimar (predecir, interpolar) wt [0] faltante.
(Para los pesos humanos, esperaría que abcd sea alrededor de 1/4).
En python, vea numpy.linalg.lstsq .
(Hay millones de libros y documentos sobre regresión, en todos los niveles. Sin embargo, por la conexión con la interpolación, no sé de una buena introducción; ¿alguien?)
fuente
fuente
Creo que la forma más sencilla sería "predecir" la fecha para el "todo" en la serie de tiempo utilizando los datos anteriores. entonces puede usar esta serie de tiempo para la estimación de parámetros. (puede proceder y repredir los valores faltantes utilizando sus parámetros estimados de la serie de tiempo completa (completada) y repetir esto hasta que converjan). Sin embargo, debe derivar los límites de confianza del número de puntos de datos reales que tiene, y no de la longitud de las series de datos completadas.
fuente