On Thu, Jul 03, 2008 at 12:47:26PM +0200, ONKELINX, Thierry wrote:
> As long as you don't supply future values of usa.p to predict, it can't do 
> any predictions at all. Also note that lm probably doesn't takes the 
> timeseries info (the time part of it) into account. You're just regressing 
> usa on usa.p. gls() is probably a better approach
> 
> gls(log(usa) ~ log(usa.p) + year, correlation = corAR1(form = ~year))

Thanks to all for your comments. What I found out worked for me was
arima:

usa.m = arima(log(usa.p),order=c(1,1,2))
usa.lp = predict(usa.ml, 10)$pred 

To predict the next 10 years of population growth in the USA.

best regards
keld

> Thierry
> 
> ----------------------------------------------------------------------------
> ir. Thierry Onkelinx
> Instituut voor natuur- en bosonderzoek / Research Institute for Nature and 
> Forest
> Cel biometrie, methodologie en kwaliteitszorg / Section biometrics, 
> methodology and quality assurance
> Gaverstraat 4
> 9500 Geraardsbergen
> Belgium 
> tel. + 32 54/436 185
> [EMAIL PROTECTED] 
> www.inbo.be 
> 
> To call in the statistician after the experiment is done may be no more than 
> asking him to perform a post-mortem examination: he may be able to say what 
> the experiment died of.
> ~ Sir Ronald Aylmer Fisher
> 
> The plural of anecdote is not data.
> ~ Roger Brinner
> 
> The combination of some data and an aching desire for an answer does not 
> ensure that a reasonable answer can be extracted from a given body of data.
> ~ John Tukey
> 
> -----Oorspronkelijk bericht-----
> Van: Keld Jørn Simonsen [mailto:[EMAIL PROTECTED] 
> Verzonden: donderdag 3 juli 2008 12:28
> Aan: ONKELINX, Thierry
> Onderwerp: Re: [R] problem with lm and predict - no predictions made
> 
> On Thu, Jul 03, 2008 at 10:21:27AM +0200, ONKELINX, Thierry wrote:
> > You'll need to specify newdata which is a dataframe with the information on 
> > the independent variables at the locations where yuou want predictions. In 
> > your case it will be a dataframe with information on us.p.
> 
> I did so, and I also tried a number of other things, such as having the
> data be in time series, and also having various valies for na.action -
> na.exclude and such. still predict.lm would only give me predictions for
> the first 28 observations, while I wanted also predictions for the
> future values. 
> 
> what I did was then with time series, with NA for values I wanted
> predicted:
> 
>  usa
> Time Series:
> Start = 1980 
> End = 2030 
> Frequency = 1 
>  [1]  2789.53  3128.43  3255.03  3536.68  3933.18  4220.25  4462.83 4739.48
>  [9]  5103.75  5484.35  5803.08  5995.93  6337.75  6657.40  7072.23 7397.65
> [17]  7816.83  8304.33  8746.98  9268.43  9816.98 10127.95 10469.60 10960.75
> [25] 11685.93 12433.93 13194.70 13843.83       NA       NA       NA NA
> [33]       NA       NA       NA       NA       NA       NA       NA NA
> [41]       NA       NA       NA       NA       NA       NA       NA NA
> [49]       NA       NA       NA
> 
>  usa.p
> Time Series:
> Start = 1980 
> End = 2030 
> Frequency = 1 
>  [1] 227.62 229.92 232.13 234.25 236.31 238.42 240.59 242.75 244.97 247.29
> [11] 250.05 253.39 256.78 260.15 263.33 266.46 269.58 272.82 276.02 279.20
> [21] 282.31 285.25 288.10 290.85 293.53 296.26 299.08 301.97     NA NA
> [31]     NA     NA     NA     NA     NA     NA     NA     NA     NA NA
> [41]     NA     NA     NA     NA     NA     NA     NA     NA     NA NA
> [51]     NA
> 
> 
> usa.d = data.frame(usa.p)
> 
> usa.m = lm(usa ~ usa.p)
>  predict(usa.m,usa.d,n.count=5)
> 
> Which only gave predictions for the first 28 observations 
> 
> I wanted it to also give predictons for the next 5.
> 
> best regards
> keld
> 
> > HTH,
> > 
> > Thierry
> > 
> > 
> > ----------------------------------------------------------------------------
> > ir. Thierry Onkelinx
> > Instituut voor natuur- en bosonderzoek / Research Institute for Nature and 
> > Forest
> > Cel biometrie, methodologie en kwaliteitszorg / Section biometrics, 
> > methodology and quality assurance
> > Gaverstraat 4
> > 9500 Geraardsbergen
> > Belgium 
> > tel. + 32 54/436 185
> > [EMAIL PROTECTED] 
> > www.inbo.be 
> > 
> > To call in the statistician after the experiment is done may be no more 
> > than asking him to perform a post-mortem examination: he may be able to say 
> > what the experiment died of.
> > ~ Sir Ronald Aylmer Fisher
> > 
> > The plural of anecdote is not data.
> > ~ Roger Brinner
> > 
> > The combination of some data and an aching desire for an answer does not 
> > ensure that a reasonable answer can be extracted from a given body of data.
> > ~ John Tukey
> > 
> > -----Oorspronkelijk bericht-----
> > Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Keld Jørn Simonsen
> > Verzonden: donderdag 3 juli 2008 9:41
> > Aan: Erik Iverson
> > CC: r-help@r-project.org
> > Onderwerp: Re: [R] problem with lm and predict - no predictions made
> > 
> > On Wed, Jul 02, 2008 at 08:55:54PM -0500, Erik Iverson wrote:
> > > Hello -
> > > 
> > > Keld Jørn Simonsen wrote:
> > > >Hi 
> > > >
> > > >I have a problem with lm and predict
> > > >
> > > >I have 
> > > >
> > > >us
> > > > [1]  2789.53  3128.43  3255.03  3536.68  3933.18  4220.25  4462.83 
> > > > 4739.48
> > > > [9]  5103.75  5484.35  5803.08  5995.93  6337.75  6657.40  7072.23 
> > > > 7397.65
> > > >[17]  7816.83  8304.33  8746.98  9268.43  9816.98 10127.95 10469.60 
> > > >10960.75
> > > >[25] 11685.93 12433.93 13194.70 13843.83
> > > >
> > > >
> > > > us.p
> > > > [1] 227.62 229.92 232.13 234.25 236.31 238.42 240.59 242.75 244.97 
> > > > 247.29
> > > >[11] 250.05 253.39 256.78 260.15 263.33 266.46 269.58 272.82 276.02 
> > > >279.20
> > > >[21] 282.31 285.25 288.10 290.85 293.53 296.26 299.08 301.97
> > > >
> > > > us.l = lm(log(us) ~ log(us.p))
> > > >>predict(us.l,n.ahead=5)
> > > >       1        2        3        4        5        6        7        8 
> > > >8.079754 8.131908 8.181531 8.228692 8.274111 8.320224 8.367224 8.413588 
> > > >       9       10       11       12       13       14       15       16 
> > > >8.460813 8.509709 8.567285 8.636117 8.705057 8.772694 8.835719 8.897015 
> > > >      17       18       19       20       21       22       23       24 
> > > >8.957402 9.019376 9.079867 9.139289 9.196752 9.250495 9.302067 9.351347 
> > > >      25       26       27       28 
> > > >9.398927 9.446950 9.496094 9.545979
> > > >
> > > >
> > > >Why does predict not give me any predictions? The result of predict() is
> > > >same lenght (28) as the us and us.p variables. 
> > > 
> > > The version of 'predict' being called on 'us.l' (i.e., predict.lm) is 
> > > doing predictions, and it should be giving you a result of identical 
> > > length as your original vectors.  What are you expecting here?  Your 
> > > usage of the 'n.ahead' parameter suggests to me you might be wanting to 
> > > fit your model using a different function than 'lm', and use its 
> > > corresponding prediction function.
> > 
> > Yes, what I have is actually some time series since 1980 on various
> > countries - here USA production and population. I would like to estimate
> > a model and then extrapolate for future years. Maybe predict.lm() is not
> > the right function for that. What would be an adequate function then?
> > 
> > best regards
> > keld
> > 
> > ______________________________________________
> > R-help@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to