On Fri, Jun 25, 2010 at 1:54 PM, Paul Hiemstra <p.hiemstra@geo.uu.nl> wrote:

> On 06/25/2010 10:02 AM, phani kishan wrote:
>
>> Hey,
>> I have a data frame x which consists of say 10 vectors. I essentially want
>> to find out the best fit exponential smoothing for each of the vectors.
>>
>> The problem while I'm getting results when i say
>>
>>
>>> lapply(x,ets)
>>>
>>>
>> I am getting an error when I say
>>
>>
>>> myprint
>>>>
>>>>
>>> function(x)
>> {
>> for(i in 1:length(x))
>> {
>> ets(x[i],model="AZZ",opt.crit=c("amse"))
>>
>>
> Hi,
>
> Please provide a reproducible example, as stated in the posting guide. My
> guess is that replacing x[i] by x[[i]] would solve the problem. Double
> brackets return a vector in stead of a data.frame that has just column i.
>
Hey Paul,
As requested.
My example data frame

sdata:
                SKU1            SKU2           SKU3           SKU4
1               583.8             574.6          1106.9           648.1
2               441.7             552.8          1021.3           353.6
3               454.2             555.7           998.3           306.4
4               569.7             507.6           811.1           360.7
5               512.3             620.0          1046.3           713.9
6               580.8             668.2           732.0           490.9
7               648.5             766.9           653.4           422.1
8               617.4             657.1           602.1           190.8
9               826.8             767.3           640.5           324.1
10             1163.0             657.6           429.6           181.1
11              643.5             788.9           569.1           331.9
12              846.9             568.6           425.1           224.6
13              580.7             582.9           434.2           226.9

now when I apply
lapply(sdata,ets)
I get a result as:
$SKU1
ETS(A,N,N)

Call:
 ets(y = x, model = "AZZ")

  Smoothing parameters:
    alpha = 0.3845

  Initial states:
    l = 533.3698

  sigma:  181.7615

     AIC     AICc      BIC
172.6144 173.8144 173.7443

$SKU2
ETS(A,N,N)

Call:
 ets(y = x, model = "AZZ")

  Smoothing parameters:
    alpha = 0.5026

  Initial states:
    l = 567.821

  sigma:  86.7074

     AIC     AICc      BIC
153.3704 154.5704 154.5003

$SKU3
ETS(A,A,N)

Call:
 ets(y = x, model = "AZZ")

  Smoothing parameters:
    alpha = 1e-04
    beta  = 1e-04

  Initial states:
    l = 1189.2221
    b = -64.3776

  sigma:  85.4153

     AIC     AICc      BIC
156.9800 161.9800 159.2398

$SKU4
ETS(A,A,N)

Call:
 ets(y = x, model = "AZZ")

  Smoothing parameters:
    alpha = 1e-04
    beta  = 1e-04

  Initial states:
    l = 566.9001
    b = -27.8818

  sigma:  127.2654

     AIC     AICc      BIC
167.3475 172.3475 169.6073

Now when I run the same using:
myfun<-function(x)
{
for(i in 1:length(x))
{
ets(x[i])
>
> }
}
I got the error as mentioned before. Now on modifying it to
myfun<-function(x)
{
for(i in 1:length(x))
{
return(ets(x[[i]])
}
}
I only got the output as
ETS(A,N,N)

Call:
 ets(y = x[[i]], model = "AZZ", opt.crit = c("amse"))

  Smoothing parameters:
    alpha = 0.3983

  Initial states:
    l = 516.188

  sigma:  181.8688

     AIC     AICc      BIC
172.6298 173.8298 173.7597

I think its considering whole dataframe as a series.
As said my objective it to essentially come up with a best exponential model
for each of the SKU's in the dataframe. However I want to be able to extract
information like mse, mape etc later. So kindly suggest.

Thanks in advance,
Phani



> cheers,
> Paul
>
>  }
>> }
>>
>> The error message is that* "Error in ets(x[i], model = "AZZ", opt.crit =
>> c("amse")) :
>>   y should be a univariate time series"*
>>
>> Could someone please explain why this is happening? I also want to be able
>> to extract data like coef's, errors (MAPE,MSE etc.)
>>
>> Thanks and regards,
>> Phani
>>
>>
>
>
> --
> Drs. Paul Hiemstra
> Department of Physical Geography
> Faculty of Geosciences
> University of Utrecht
> Heidelberglaan 2
> P.O. Box 80.115
> 3508 TC Utrecht
> Phone:  +3130 253 5773
> http://intamap.geo.uu.nl/~paul <http://intamap.geo.uu.nl/%7Epaul>
> http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770
>
>


-- 
A. Phani Kishan
3rd Year B.Tech
Dept. of Computer Science & Engineering
IIT MADRAS
Ph: +919962363545

	[[alternative HTML version deleted]]

