Lineare Regression mit Gewichten für ein Datum

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
Regression
Beiträge: 76
Registriert: Mo Jan 15, 2018 9:57 am

Lineare Regression mit Gewichten für ein Datum

Beitrag von Regression »

Hallo Zusammen,

in der Linearen Regression möchte ich ein Datum vorhersagen, wo ein bestimmtes Wert erreicht wird, dabei sollen die aktuellen Werte (der letzte drittel) mehr gewicht erhalten, als die übrigen. Sei hierzu also der folgende Datensatz gegeben:

Code: Alles auswählen

DT<-data.table(Date=c("2018-02-26", "2018-02-27", "2018-02-28", "2018-03-01", "2018-03-02", "2018-03-05", "2018-03-06", "2018-03-08",
                       "2018-03-09", "2018-03-12", "2018-03-13", "2018-03-14", "2018-03-15", "2018-03-19", "2018-03-20" ,"2018-03-22",
                       "2018-03-24", "2018-03-26", "2018-03-27", "2018-03-28", "2018-03-29" ,"2018-03-30", "2018-04-03", "2018-04-04",
                       "2018-04-05", "2018-04-06", "2018-04-09", "2018-04-10", "2018-04-11" ,"2018-04-12", "2018-04-13", "2018-04-16",
                       "2018-04-17", "2018-04-18", "2018-04-19", "2018-04-20", "2018-04-23" ,"2018-04-24", "2018-04-25" ,"2018-04-26",
                       "2018-04-27", "2018-04-28", "2018-04-29", "2018-04-30", "2018-05-02" ,"2018-05-03", "2018-05-07", "2018-05-09",
                       "2018-05-14", "2018-05-15", "2018-05-16", "2018-05-18", "2018-05-22", "2018-05-23", "2018-05-25", "2018-05-31",
                      "2018-06-04" ,"2018-06-05" ,"2018-06-06" ,"2018-06-08" ,"2018-06-12" ,"2018-06-13" ,"2018-06-14" ,"2018-06-15",
                      "2018-06-16" ,"2018-06-18" ,"2018-06-20" ,"2018-06-21" ,"2018-06-25" ,"2018-06-27" ,"2018-07-02" ,"2018-07-03",
                       "2018-07-05" ,"2018-07-09" ,"2018-07-10", "2018-07-11", "2018-07-13" ,"2018-07-16", "2018-07-19", "2018-07-23"), Value=floor(jitter(100:21,5)))
DT[,Date:=as.Date(Date)]
Mein Ansatz bislang war:

Code: Alles auswählen

DT[,N:=rleidv(DT)]
DT[,weight:=ifelse(N> floor(.N*0.6), 2/3, 1/3)]
lm(Date ~ Value, data=DT, weights = weight)
Doch leider bekomme ich folgende Fehlermeldung:
Error in Ops.Date(y, wts) : * not defined for "Date" objects ]

Es muss doch eine Lösung geben das man auch das Datum gewichten kann :?:

Besten Dank im Voraus!
LG
Regression
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Lineare Regression mit Gewichten für ein Datum

Beitrag von jogo »

Hallo Regression,

Code: Alles auswählen

library("data.table")

DT<-data.table(Date=c("2018-02-26", "2018-02-27", "2018-02-28", "2018-03-01", "2018-03-02", "2018-03-05", "2018-03-06", "2018-03-08",
                      "2018-03-09", "2018-03-12", "2018-03-13", "2018-03-14", "2018-03-15", "2018-03-19", "2018-03-20" ,"2018-03-22",
                      "2018-03-24", "2018-03-26", "2018-03-27", "2018-03-28", "2018-03-29" ,"2018-03-30", "2018-04-03", "2018-04-04",
                      "2018-04-05", "2018-04-06", "2018-04-09", "2018-04-10", "2018-04-11" ,"2018-04-12", "2018-04-13", "2018-04-16",
                      "2018-04-17", "2018-04-18", "2018-04-19", "2018-04-20", "2018-04-23" ,"2018-04-24", "2018-04-25" ,"2018-04-26",
                      "2018-04-27", "2018-04-28", "2018-04-29", "2018-04-30", "2018-05-02" ,"2018-05-03", "2018-05-07", "2018-05-09",
                      "2018-05-14", "2018-05-15", "2018-05-16", "2018-05-18", "2018-05-22", "2018-05-23", "2018-05-25", "2018-05-31",
                      "2018-06-04" ,"2018-06-05" ,"2018-06-06" ,"2018-06-08" ,"2018-06-12" ,"2018-06-13" ,"2018-06-14" ,"2018-06-15",
                      "2018-06-16" ,"2018-06-18" ,"2018-06-20" ,"2018-06-21" ,"2018-06-25" ,"2018-06-27" ,"2018-07-02" ,"2018-07-03",
                      "2018-07-05" ,"2018-07-09" ,"2018-07-10", "2018-07-11", "2018-07-13" ,"2018-07-16", "2018-07-19", "2018-07-23"), Value=floor(jitter(100:21,5)))
DT[, Date:=as.Date(Date)]

DT[, weight:=1]
DT[(1+floor(.N*0.6)):(.N), weight:=2]
lm(as.integer(Date) ~ Value, data=DT, weights = weight)
Gruß, Jörg
Regression
Beiträge: 76
Registriert: Mo Jan 15, 2018 9:57 am

Re: Lineare Regression mit Gewichten für ein Datum

Beitrag von Regression »

TOP :!:
Danke
Antworten