[R] problem with 'gnls'

Bruno Tona tona at stat.math.ethz.ch
Wed Dec 18 15:42:12 CET 2002


I'm working with data measured in a tunnel to estimate the
emission factor of heavy & light vehicles.
I tried to use 'gnls' and I get the following Error:
>> Error in "coef<-.corARMA"(*tmp*, value = c(174.267493382104, 173.412740072763 : 
>> Coefficient matrix not invertible


Here is my R-code:

 data <- d.plabutsch.neu
 
 # calculating the starting coeficients:
 r.CO2.rlm <- rlm(EF.CO2 ~ pLKW.total + Sat + Sun + Fz.total,
                 data = data, method = "MM", na.action =
                 na.exclude)
 START <- coef(r.CO2.rlm); names(START) <- letters[1:5]

 # 'gnls':
 r.CO2.gnls <- gnls(log(EF.CO2) ~ log(a + b * pLKW.total) + c * Sat +
                    d * Sun + e * Fz.total,start = START, data = data,
                    correlation=corARMA(p=p[2],q=0), na.action = na.exclude)



The data d.plabutsch.neu has the following stucture: (Not all columns are NA!)
> str(d.plabutsch.neu)
`data.frame':	806 obs. of  90 variables:
 $ Tag          : num  NA NA NA NA NA NA NA NA NA NA ...
 $ b.Std        : num  NA NA NA NA NA NA NA NA NA NA ...
 $ b.Min        : num  NA NA NA NA NA NA NA NA NA NA ...
 $ e.Std        : num  NA NA NA NA NA NA NA NA NA NA ...
 $ e.Min        : num  NA NA NA NA NA NA NA NA NA NA ...
 $ CO.fresh     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ CO.tunn      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ CO.diff      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NO.fresh     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NO.tunn      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NO.diff      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NOx.fresh    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NOx.tunn     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NOx.diff     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NOx.fresh    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NOx.tunn     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NOx.diff     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ THC.fresh    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ THC.tunn     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ THC.diff     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ PM10.fresh   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ PM10.tunn    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ PM10.diff    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ O3.fresh     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ CO2.fresh    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ CH4.tunn     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ NCH4.tunn    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ SO2.tunn     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Druck.tunn   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Feucht.tunn  : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Temp.tunn    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Luft.fresh   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Luft.waste   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Menge.CO     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Menge.NOx    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Menge.THC    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO        : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.NOx       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.THC       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO2       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Emission.CO  : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Emission.NOx : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Emission.THC : num  NA NA NA NA NA NA NA NA NA NA ...
 $ PKW.Nord     : int  NA NA NA NA NA NA NA NA NA NA ...
 $ PKW.Sued     : int  NA NA NA NA NA NA NA NA NA NA ...
 $ PKW.total    : int  NA NA NA NA NA NA NA NA NA NA ...
 $ LKW.Nord     : int  NA NA NA NA NA NA NA NA NA NA ...
 $ LKW.Sued     : int  NA NA NA NA NA NA NA NA NA NA ...
 $ LKW.total    : int  NA NA NA NA NA NA NA NA NA NA ...
 $ Fz.Nord      : int  NA NA NA NA NA NA NA NA NA NA ...
 $ Fz.Sued      : int  NA NA NA NA NA NA NA NA NA NA ...
 $ Fz.total     : int  NA NA NA NA NA NA NA NA NA NA ...
 $ pPKW.Nord    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pPKW.Sued    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.Nord    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.Sued    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pPKW.total   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.total   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pPKW.N       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pPKW.S       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.N       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.S       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ weekend      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sat          : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sun          : num  NA NA NA NA NA NA NA NA NA NA ...
 $ verbot       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO.t1     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.NOx.t1    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.THC.t1    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO2.t1    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO.t2     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.NOx.t2    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.THC.t2    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO2.t2    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO.t3     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.NOx.t3    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.THC.t3    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ EF.CO2.t3    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.total.t1: num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sat.t1       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sun.t1       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Fz.total.t1  : int  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.total.t2: num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sat.t2       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sun.t2       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Fz.total.t2  : int  NA NA NA NA NA NA NA NA NA NA ...
 $ pLKW.total.t3: num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sat.t3       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Sun.t3       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Fz.total.t3  : int  NA NA NA NA NA NA NA NA NA NA ...


I also tried with an AR(3) and an AR(1). The AR(3) gives the same
error like above and the AR(1) gives the error:
>> Error in optim(fn = function(gnlsPars) -logLik(gnlsSt, gnlsPars), par = c(coef(gnlsSt)),  : 
>> 	initial value in vmmin is not finite
>> In addition: There were 14 warnings (use warnings() to see them)

Thanks for any help

regards
Bruno Tona




More information about the R-help mailing list