Hola a los dos y muchas gracias! Por lo que sea no había recibido el correo de José Trujillo. He probado lo que me comentáis y no consigo que al hacer el suavizado los residuos dejen de estar autocorrelacionados. Os pego el código abajo con unos datos de humedad. Usando el wilcox.test para estos datos (pareados o no) hay diferencias significativas entre sitios/sensores. He seguido este tutorial: http://a-little-book-of-r-for-time-series.readthedocs.org/en/latest/src/timeseries.html#simple-exponential-smoothing
### a<-c(89.66, 90.38, 91.21, 92.15, 92.71, 92.52, 91.47, 88.83, 84.83, 79.57, 73.88, 69.16, 66.11, 64.01, 63.91, 65.92, 68.19, 72.48, 78.88, 83.34, 85.31, 86.89, 88.45, 88.89) # medias de humedad horaria sitio a b<-c(76.09, 76.44, 76.98, 77.52, 77.53, 77.84, 77.87, 77.58, 74.57, 66.75, 58.2, 51.4, 48.58, 47.55, 47.79, 48.86, 51.94, 57.01, 62.77, 68.16, 72.36, 74.78, 75.66, 75.96) # medias de humedad horaria sitio b library(randtests) runs.test(a) # P << 0.05 # hay autocorrelación runs.test(b) # P << 0.05 # hay autocorrelación runs.test(a-b) # P << 0.05 # hay autocorrelación acf(a-b) # hay autocorrelación a_ts<-ts(a) b_ts<-ts(b) # Holt’s Exponential Smoothing a_ts_forecasts <- HoltWinters(a_ts, gamma=FALSE) plot(a_ts_forecasts) b_ts_forecasts <- HoltWinters(b_ts, gamma=FALSE) plot(b_ts_forecasts) # curioso el lag library(forecast) a_ts_forecasts2<-forecast.HoltWinters(a_ts_forecasts) shapiro.test(a_ts_forecasts2$residuals) # son normales runs.test(a_ts_forecasts2$residuals) # P << 0.05 # hay autocorrelación b_ts_forecasts2<-forecast.HoltWinters(b_ts_forecasts) shapiro.test(b_ts_forecasts2$residuals) # son normales runs.test(b_ts_forecasts2$residuals) # P << 0.05 # hay autocorrelación # Holt-Winters Exponential Smoothing alog<-log(a_ts) alog_ts_forecasts <- HoltWinters(alog, gamma=FALSE) plot(alog_ts_forecasts) # curioso el lag alog_ts_forecasts2<-forecast.HoltWinters(alog_ts_forecasts) shapiro.test(alog_ts_forecasts2$residuals) # son normales runs.test(alog_ts_forecasts2$residuals) # P << 0.05 # hay autocorrelación ### También he probado con Simple Exponential Smoothing y con la función SMA de la librería TTR con los mismos resultados. Si tenéis cualquier sugerencia será bienvenida. Gracias! Javier 2016-03-29 14:08 GMT+02:00 Carlos J. Gil Bellosta <[email protected]>: > Hola, ¿qué tal? > > Estoy de acuerdo en todo menos en una cosa: que si las series están > autocorrelaccionadas (que lo estarán casi seguro), las diferencias también > lo estarán (necesariamente). Porque la primera cosa que se me ocurre (y no > me parece descabellada) es que si el efecto de la ubicación es aditivo, es > decir, si las temperaturas son > > temp(t) + a1 + e1(t) para el sitio 1 > temp(t) + a2 + e2(t) para el sitio 2 > > al tomar las diferencias hora a hora desaparecería el efecto de la serie > temporal subyacente, independientemente de su estructura y la prueba > pareada lo sería sobre la diferencia entre a1 y a2. Y la prueba por parejas > (de horas) tendría sentido. > > Se puede comprobar (incluso a ojo; o más bien, primero y fundamentalmente a > ojo) si las diferencias tienen algún tipo de estructura temporal; en este > caso, quedaría invalidado todo lo dicho. Por supuesto. > > Eso sí, sigue existiendo el problema de si las diferencias se deben a las > ubicaciones o a los sensores. > > Salud, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > El 29 de marzo de 2016, 12:15, José Trujillo Carmona <[email protected]> > escribió: > >> En mi modesta opinión el problema planteado no es con las réplicas. >> >> Efectivamente el problema de las réplicas existe. Al haber un único sensor >> en cada sitio no podrás saber si las diferencias las crea el sitio o el >> sensor. Para mí la solución, si fuese factible, sería intercambiar sensores >> un tiempo. >> >> Pero en todo caso el problema planteado creo que es comparar los dos >> conjuntos de datos, con la salvedad de que las diferencias pueden ser >> debidas al sitio o al sensor. Este problema topa con el problema principal >> de la falta de independencia entre observaciones. >> >> El test de Mann-Whitney-Wilcoxon, como los tests paramétricos >> convencionales, incluyen la suposición de que se está trabajando con una >> muestra obtenida mediante muestreo aleatorio simple, o lo que es lo mismo >> que los sucesivos valores encontrados son independientes entre sí. De hecho >> el calculo de la distribución de probabilidad del estadístico de contraste >> depende fuertemente de esta suposición. >> >> La solución que propone Carlos (tomar diferencias en datos apareados) no >> resuelve para nada el problema: si las series están autocorrelacionadas, >> las diferencias también lo estarán. >> >> En métodos paramétricos la solución es eliminar las componentes de >> autocorrelación hasta conseguir que la serie sea ruido blanco. Las >> soluciones no paramétricas suele ir en la misma dirección; aunque no creo >> que esté indicada la estimación de un modelo ARIMA (paramétrico). Ahora >> mismo no tengo tiempo de buscar las soluciones concretas, pero yo iría en >> la siguiente dirección: >> >> 1º Comprobar si efectivamente la serie está autocorrelacionada mediante >> algún test tipo test de Wald-Wolfowitz (ver en el paquete randtests). Si no >> lo estuviese la utilización directa de Mann-Whitney no tendría ningún >> problema. >> >> 2º Eliminar la autocorrelación mediante procedimientos de suavizado que >> por no necesitar la estimación de parámetros son "free distribution" como >> los de Suavizado Exponencial de Brown o los más complejos de Holt o incluso >> Holt-Winter. >> >> Con los residuos de la serie suavizada (o alisada) hasta que las >> observaciones sean independientes entre sí, utilizar el test de >> Mann-Whitney. >> >> Saludos. >> >> >> >> El 29/03/16 a las 10:05, Carlos J. Gil Bellosta escribió: >> >>> Hola, ¿qué tal? >>> >>> En el peor de los casos, tendrías que comparar parejas de temperaturas >>> (por >>> hora). Es decir, con paired = T. Aún así, como dices, tendrías el problema >>> de la correlación entre medidas. >>> >>> En este caso, como en casi todos, lo ideal es plantear un modelo similar a >>> >>> temp ~ temp(h) + sitio + error >>> >>> y ver si el coeficiente de sitio es o no cero. El problema particular de >>> este ejemplo es que temp(h) (un modelo para la temperatura en función de >>> la >>> hora) es una función no lineal. Igual podrías probar con los GAM. >>> >>> Un saludo, >>> >>> Carlos J. Gil Bellosta >>> http://www.datanalytics.com >>> >>> >>> El 28 de marzo de 2016, 16:56, Javier Martínez-López < >>> [email protected]> escribió: >>> >>> Hola a tod@s, >>>> >>>> queremos hacer una comparación entre dos lugares muy alejados entre sí >>>> en relación a la temperatura de cada sitio usando medias horarias de >>>> un período determinado. Sólo hay medidas de un sensor en cada sitio y >>>> queremos saber si las diferencias son significativas o no entre >>>> sitios/curvas. Hemos usado un test de Mann–Whitney U con la función >>>> wilcox.test (paired=F) ya que los valores no son normales (n = 24; 24h >>>> en base a medias minutales). ¿Creéis que es correcto o estaríamos >>>> incumpliendo alguna asunción del test al ser datos temporales y/o no >>>> tener réplicas de los sensores? >>>> >>>> Muchas gracias y saludos, >>>> >>>> Javier >>>> >>>> _______________________________________________ >>>> R-help-es mailing list >>>> [email protected] >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-help-es mailing list >>> [email protected] >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >> > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-help-es _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
