Hola a todos Estoy intentando hacer un análisis rápido de una serie temporal de datos diarios pero me encuentro con algunos problemas. Me gustaría en primera instancia hacer una regresión lineal pero no encuentro la forma. Tras leer los datos diarios creo un objeto de la clase zoo y sobre éste no puedo utilizar lm(). He leído algo sobre dynlm pero no encuentro la forma. Se agradece cualquier sugerencia, Paco -- ----------- Francisco Pastor Meteorology department, Instituto Universitario CEAM-UMH http://www.ceam.es ----------- mail: paco en ceam.es skype: paco.pastor.guzman Researcher ID: http://www.researcherid.com/rid/B-8331-2008 Cosis profile: http://www.cosis.net/profile/francisco.pastor ----------- Parque Tecnologico, C/ Charles R. Darwin, 14 46980 PATERNA (Valencia), Spain Tlf. 96 131 82 27 - Fax. 96 131 81 90
Oscar Perpiñan Lamigueiro
2011-Feb-17 10:18 UTC
[R-es] Regresión lineal para una serie temporal
El Thu, 17 Feb 2011 10:52:42 +0100 Paco Pastor <paco en ceam.es> escribió:> Hola a todos > > Estoy intentando hacer un análisis rápido de una serie temporal de > datos diarios pero me encuentro con algunos problemas. Me gustaría en > primera instancia hacer una regresión lineal pero no encuentro la > forma. > > Tras leer los datos diarios creo un objeto de la clase zoo y sobre > éste no puedo utilizar lm(). He leído algo sobre dynlm pero no > encuentro la forma. > > Se agradece cualquier sugerencia, > > Paco >A falta de un ejemplo, me invento uno con lo que he entendido de tu mensaje: library(zoo) library(lattice) ##Dos variables relacionadas entre sí x=rnorm(100) y=2*x+1 ##Indice temporal idx=seq(as.POSIXct('2011-01-01'), length=100, by='day') ##Creo el objeto zoo y lo pinto z <- zoo(data.frame(x, y), idx) xyplot(z, superpose=TRUE) ##Hago un ajuste entre las variables lmZ <- lm(y~x, z) summary(lmZ) Saludos. Oscar. ------------------- Oscar Perpiñán Lamigueiro Dpto. Ingeniería Eléctrica EUITI-UPM
Paco, Ya que tienes una serie temporal (temperaturas que evolucionan a lo largo del tiempo), y parece que tu objetivo es estudiar esta evolución (regresión respecto al tiempo). Resulta que es precisamente el objeto básico de la teoría de las series temporales. Es decir que puedes utilizar los modelos clásicos de este área: modelos ArMa, Arima, .... y puedes también incluir una tendencia y un componente estacional. Echa, por ejemplo, un vistazo al paquete "tseries". Un saludo. Olivier -- ____________________________________ Olivier G. Nuñez Email: onunez en iberstat.es Tel : +34 663 03 69 09 Web: http://www.iberstat.es ____________________________________ El 17/02/2011, a las 12:42, Paco Pastor escribió:> Hola Jorge y Óscar > > Efectivamente, quiero hacer la regresión de la variable respecto al > tiempo. > > He probado vuestras dos sugerencias y obtengo la regresión pero > resulta que dan valores ligeramente diferentes. ¿Qué método debo > escoger? supongo que dependerá del tipo de datos con los que se > trabaja. Además, ésta es solamente una primera aproximación a la > tendencia de la serie y luego tendrá que venir algo más complejo. > > library(zoo) > temperatura=read.csv("temp_maxima_C.dat",header=F,sep=",") > tdat=temperatura[2:8] > mitja=rowMeans(tdat, na.rm=TRUE) > temp2=cbind(temperatura,mitja) > tfecha=as.Date(temp2[,1],"%d/%m/%Y") > tdata=zoo(temp2$mitja,tfecha) > > lm1=lm(coredata(tdata)~index(tdata)) > > lm1 > Call: > lm(formula = coredata(tdata) ~ index(tdata)) > Coefficients: > (Intercept) index(tdata) > 2.136e+01 1.119e-04 > > lm2=lm(tdata~tfecha) > > lm2 > Call: > lm(formula = tdata ~ tfecha) > Coefficients: > (Intercept) tfecha > 2.155e+01 8.312e-05 > > > Gracias > > > El 17/02/2011 11:56, Jorge Virto escribió: >> Hola Paco, >> >> creo que el problema está en que no le dices a R que tu primera >> variable es >> una fecha. Prueba lo siguiente: >> >> datos<- read.csv("dat.csv",header=T) >> >> # Das formato fecha a los datos >> # Fecha del tipo: Año-Mes-Día >> fecha<- as.Date(datos[,1],format="%Y-%m-%d") >> >> reg<- lm(datos[,2]~fecha) >> summary(reg) >> >> Un saludo, >> >> Jorge >> > > -- > ----------- > Francisco Pastor > Meteorology department, Instituto Universitario CEAM-UMH > http://www.ceam.es > ----------- > mail: paco en ceam.es > skype: paco.pastor.guzman > Researcher ID: http://www.researcherid.com/rid/B-8331-2008 > Cosis profile: http://www.cosis.net/profile/francisco.pastor > ----------- > Parque Tecnologico, C/ Charles R. Darwin, 14 > 46980 PATERNA (Valencia), Spain > Tlf. 96 131 82 27 - Fax. 96 131 81 90 > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es