Re: [R-es] Mann-Whitney con datos temporales

2016-03-30 Por tema Rubén Fernández-Casal
Hola a todos,

Simplemente comentar que ademas de la dependencia espacio-temporal en estos
datos va a haber una tendencia como mínimo temporal (las medias no son
ctes). Por tanto me parecería mejor la propuesta de Carlos, aunque se está
asumiendo que las curvas de temperatura solo se diferencian en una cte.

Estimar la dependencia a partir de un conj de datos tan pequeño resultaría
difícil, por lo que en principio miraría que ocurre suponiendo errores
independientes. La estimación del efecto localización sería fiable, los
contrastes aproximados  (teniendo en cuenta que seguramente se subestima la
varianza, los pvalores "reales" deberían ser algo mayores ).

No sé cual es el objetivo final, pero podría ser recomendable considerar
mas días para modelar mejor el proceso...

Un saludo, Rubén.
El 28/3/2016 16:57, "Javier Martínez-López" 
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
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Re: [R-es] Mann-Whitney con datos temporales

2016-03-30 Por tema Javier Martínez-López
En nuestro caso son series de zonas experimentales en Almería y Madrid
y pese a que no se cumple la independencia ni de las diferencias ni de
los residuos de las series suavizadas, como comentaba en el último
correo, sin embargo entiendo, como dice Carlos, que aunque estemos
sobreestimando los grados de libertad, el test no es del todo
inapropiado, al menos como algo orientativo. Pasa como en el ejemplo
que pone Carlos del aeropuerto y Colmenar, donde al aplicar el
runs.test (del paquete randtests) a las curvas y a las diferencias se
ve que están autocorrelacionadas. También he calculado el RMSE para
ver las diferencias entre curvas, que nos da una idea de su
disimilitud, quizá eso sea lo mejor. Gracias de nuevo y saludos,
Javier

2016-03-30 9:24 GMT+02:00 José Trujillo Carmona :
> Ruego a los miembros de la lista disculpas por mi torpeza y el desajuste
> de los mensajes.
>
> Suelo dar "contestar" a los mensajes que contesto y en esta lista tengo
> que acordarme de pinchar en "contestar a la lista".
>
> Envié mi última contestación solo a Carlos y el me ha contestado
> avisando del error de procedimiento y explicando mejor bajo que
> situación muy plausible la diferencia sí eliminaría la autocorrelación.
>
> Creo que no cabe objeción a su consideración actual, si el efecto
> temporal es exactamente el mismo, si no está desplazado en el tiempo ni
> en intensidad (siempre 4 grados y la diferencia es en el mismo tiempo)
> efectivamente la diferencia eliminaría la autocorrelación.
>
> Ya digo en anterior mensaje que la solución para sabe en qué caso
> estamos es fácil: se aplica la diferencia y se contrasta la independencia.
>
> Saludos.
>
>
> El 30/03/16 a las 01:07, Carlos J. Gil Bellosta escribió:
>> Hola, ¿qué tal?
>>
>> Me has escrito solo a mí. No sé si querías mandar el mensaje a la
>> lista o no.
>>
>> En cualquier caso, estamos de acuerdo. Bajo tus hipótesis, no tengo
>> nada que objetar.
>>
>> Yo tenía en mente otra estructura para el problema: la del que dice
>> "en Colmenar [siempre] hace 4 grados menos que en Madrid". Es decir,
>> que si la temperatura de Madrid es de 12 grados, en Colmenar estará
>> haciendo alrededor de 8. De otra manera, T_c = T_m - N(4, sigma).
>>
>> No sé cómo de lejos estarán los sensores del tipo que ha escrito la
>> pregunta, pero _mi_ estructura probabilística puede justificarse en
>> algunos casos. Para Madrid y Colmenar, por ejemplo. He bajado las
>> temperaturas de las últimas 24 horas en Madrid (Barajas) y Colmenar
>> 
>> (en el problema original también había una serie de 24 medidas) y mira:
>>
>> aeropuerto <-
>> read.csv("/home/carlos/Downloads/ultimosdatos_3129_datos-horarios.csv", skip
>> = 2, fileEncoding = "latin1")
>> aeropuerto <- aeropuerto[,2]
>>
>> colmenar <-
>> read.csv("/home/carlos/Downloads/ultimosdatos_3191E_datos-horarios.csv",
>> skip = 2, fileEncoding = "latin1")
>> colmenar <- colmenar[,2]
>>
>> temperaturas <-
>> structure(list(aeropuerto = c(10.9, 12.7, 14.9, 15.8, 17.5, 18.5,
>> 18.8, 18.4, 17.9, 17.4, 16.1, 14.9, 13.6, 12.8, 11.5, 10.5, 9.9,
>> 9.8, 9.8, 9.7, 9.4, 8.8, 9.9, 11), colmenar = c(8.4, 9.4, 10,
>> 11.2, 12.5, 14.3, 14.1, 14.3, 13.5, 12.9, 12.2, 11.4, 10.3, 8.4,
>> 7.3, 7, 7.1, 6.6, 6.4, 6.3, 6.2, 5.9, 5.7, 6.2)), .Names = c("aeropuerto",
>> "colmenar"), row.names = c(NA, -24L), class = "data.frame")
>>
>> plot(aeropuerto, ylim = c(min(colmenar), max(aeropuerto)), type = "l")
>> lines(colmenar, col = "red")
>>
>> Y si tomas diferencias verás que no parecen seguir ningún tipo de
>> patrón temporal.
>>
>> Ahora bien, ¿puedo hacer un t-test? Casi seguro que no se justifica
>> del todo por el hecho de que sobreestimo los grados de libertad
>> (piensa que podría tener tantos como quisiera tomando, por ejemplo,
>> medidas de temperatura cada nanosegundo). Pero no sería una solución
>> "tremendamente mala". Incluso podría ponerme en el lado conservador de
>> infraestimar el número de grados de libertad (i.e., usar una t de
>> Student con un par de grados de libertad y aún así encontrar
>> diferencias significativas).
>>
>> La otra alternativa sería crear un modelo que ajuste la temperatura en
>> función de la hora y la ubicación (p.e., usando GAM) y viendo si mi
>> coeficiente de la ubicación es significativamente distinto de cero. De
>> nuevo, todo lo anterior, bajo _mis_ hipótesis. Que seguro que no se
>> cumplen si las ubicaciones son Madrid y Santander.
>>
>> Ahora bien, no sabemos cuáles (las tuyas o las mías) son más creíbles
>> en el caso que da lugar a la pregunta. ¡No nos lo han dicho!
>>
>> Un saludo,
>>
>> Carlos J. Gil Bellosta
>> http://www.datanalytics.com
>>
>>
>>
>>
>> El 29 de marzo de 2016, 17:33, José Trujillo Carmona
>>  escribió:
>>
>> No estoy de acuerdo con Carlos.
>>
>> Si la estructura temporal viniese dada por un modelo determinista,
>> como si el tiempo fuese una variable 

Re: [R-es] Mann-Whitney con datos temporales

2016-03-30 Por tema José Trujillo Carmona
Ruego a los miembros de la lista disculpas por mi torpeza y el desajuste 
de los mensajes.

Suelo dar "contestar" a los mensajes que contesto y en esta lista tengo 
que acordarme de pinchar en "contestar a la lista".

Envié mi última contestación solo a Carlos y el me ha contestado 
avisando del error de procedimiento y explicando mejor bajo que 
situación muy plausible la diferencia sí eliminaría la autocorrelación.

Creo que no cabe objeción a su consideración actual, si el efecto 
temporal es exactamente el mismo, si no está desplazado en el tiempo ni 
en intensidad (siempre 4 grados y la diferencia es en el mismo tiempo) 
efectivamente la diferencia eliminaría la autocorrelación.

Ya digo en anterior mensaje que la solución para sabe en qué caso 
estamos es fácil: se aplica la diferencia y se contrasta la independencia.

Saludos.


El 30/03/16 a las 01:07, Carlos J. Gil Bellosta escribió:
> Hola, ¿qué tal?
>
> Me has escrito solo a mí. No sé si querías mandar el mensaje a la 
> lista o no.
>
> En cualquier caso, estamos de acuerdo. Bajo tus hipótesis, no tengo 
> nada que objetar.
>
> Yo tenía en mente otra estructura para el problema: la del que dice 
> "en Colmenar [siempre] hace 4 grados menos que en Madrid". Es decir, 
> que si la temperatura de Madrid es de 12 grados, en Colmenar estará 
> haciendo alrededor de 8. De otra manera, T_c = T_m - N(4, sigma).
>
> No sé cómo de lejos estarán los sensores del tipo que ha escrito la 
> pregunta, pero _mi_ estructura probabilística puede justificarse en 
> algunos casos. Para Madrid y Colmenar, por ejemplo. He bajado las 
> temperaturas de las últimas 24 horas en Madrid (Barajas) y Colmenar 
> 
>  
> (en el problema original también había una serie de 24 medidas) y mira:
>
> aeropuerto <- 
> read.csv("/home/carlos/Downloads/ultimosdatos_3129_datos-horarios.csv", skip 
> = 2, fileEncoding = "latin1")
> aeropuerto <- aeropuerto[,2]
>
> colmenar <- 
> read.csv("/home/carlos/Downloads/ultimosdatos_3191E_datos-horarios.csv", 
> skip = 2, fileEncoding = "latin1")
> colmenar <- colmenar[,2]
>
> temperaturas <-
> structure(list(aeropuerto = c(10.9, 12.7, 14.9, 15.8, 17.5, 18.5,
> 18.8, 18.4, 17.9, 17.4, 16.1, 14.9, 13.6, 12.8, 11.5, 10.5, 9.9,
> 9.8, 9.8, 9.7, 9.4, 8.8, 9.9, 11), colmenar = c(8.4, 9.4, 10,
> 11.2, 12.5, 14.3, 14.1, 14.3, 13.5, 12.9, 12.2, 11.4, 10.3, 8.4,
> 7.3, 7, 7.1, 6.6, 6.4, 6.3, 6.2, 5.9, 5.7, 6.2)), .Names = c("aeropuerto",
> "colmenar"), row.names = c(NA, -24L), class = "data.frame")
>
> plot(aeropuerto, ylim = c(min(colmenar), max(aeropuerto)), type = "l")
> lines(colmenar, col = "red")
>
> Y si tomas diferencias verás que no parecen seguir ningún tipo de 
> patrón temporal.
>
> Ahora bien, ¿puedo hacer un t-test? Casi seguro que no se justifica 
> del todo por el hecho de que sobreestimo los grados de libertad 
> (piensa que podría tener tantos como quisiera tomando, por ejemplo, 
> medidas de temperatura cada nanosegundo). Pero no sería una solución 
> "tremendamente mala". Incluso podría ponerme en el lado conservador de 
> infraestimar el número de grados de libertad (i.e., usar una t de 
> Student con un par de grados de libertad y aún así encontrar 
> diferencias significativas).
>
> La otra alternativa sería crear un modelo que ajuste la temperatura en 
> función de la hora y la ubicación (p.e., usando GAM) y viendo si mi 
> coeficiente de la ubicación es significativamente distinto de cero. De 
> nuevo, todo lo anterior, bajo _mis_ hipótesis. Que seguro que no se 
> cumplen si las ubicaciones son Madrid y Santander.
>
> Ahora bien, no sabemos cuáles (las tuyas o las mías) son más creíbles 
> en el caso que da lugar a la pregunta. ¡No nos lo han dicho!
>
> Un saludo,
>
> Carlos J. Gil Bellosta
> http://www.datanalytics.com
>
>
>
>
> El 29 de marzo de 2016, 17:33, José Trujillo Carmona 
>  escribió:
>
> No estoy de acuerdo con Carlos.
>
> Si la estructura temporal viniese dada por un modelo determinista,
> como si el tiempo fuese una variable extrínseca, y con la misma
> función y los mismos parámetros, Carlos tendría razón.
>
> Pero si la estructura temporal es de naturaleza estocástica, como
> un modelo ARIMA por ejemplo, entonces no es cierto que las
> diferencias eliminen la estructura.
>
> Ejemplo al canto. Me ciño al modelo MA(1) donde es más fácil de
> probar. Todo modelo ARIMA se puede expresar como un MA(inf) así
> que lo que digo es generalizable.
>
> En el modelo MA(1) la estructura de las observaciones es:
>
> X(t) = m1 + e(t) + q e(t-1)
>
> Donde m1 es la media de la serie (en un residuo de un modelo,
> normalmente es cero) e(1), e(2), ... e(t) son ruido blanco.
>
> Una segunda serie con la misma estructura (coeficiente) q vendría
> dada por:
>
> Y(t) = m2 + f(t) + q f(t-1)
>
> Donde f(1), f(2), ... f(t) son igualmente ruido blanco 

Re: [R-es] Mann-Whitney con datos temporales

2016-03-29 Por tema Carlos J. Gil Bellosta
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 
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 <
>> javi.martinez.lo...@gmail.com> 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
>>> R-help-es@r-project.org
>>> 

Re: [R-es] Mann-Whitney con datos temporales

2016-03-29 Por tema Carlos J. Gil Bellosta
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 <
javi.martinez.lo...@gmail.com> 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
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es