Seite 1 von 1

Trendmodell

Verfasst: Sa Jun 12, 2021 10:05 am
von kingerde
Guten Morgen,

ich habe momentan einen Datensatz mit verschiedenen Unternehmen und einem Zeitraum von 2005-2020. Ich möchte eine Trendregression durchführen, die in etwa so aussieht:

Code: Alles auswählen

lnX_t = lnX_0 +[b] t * g_x[/b] + e_t^X


Ich konnte im Internet nichts dazu finden und habe leider keine Ahnung von so einem Modell. Was ich jetzt machen würde ist eine neue Spalte mit "t" hinzuzufügen und dann eine Regression mit X als abhängige Variable und t als unabhängige Variable für jedes Unternehmen laufen zu lassen.

Code: Alles auswählen

df$t <- NA;
df$t <- df$YEAR - min(df$YEAR) + 1

lm(lnX ~ t) #so würde das Regressionsmodell aussehen#
oder müsste man anstelle

Code: Alles auswählen

lm (), ts ()
verwenden?

Code: Alles auswählen

 DATENSATZ BEISPIEL
Code Name 		Jahr	lnX	
1 Beispiel Unternehmen 1 2005	500
1 Beispiel Unternehmen 1 2006	300
1 Beispiel Unternehmen 1 2007	400
1 Beispiel Unternehmen 1 2008	200
1 Beispiel Unternehmen 1 2009	800
1 Beispiel Unternehmen 1 2010	700
1 Beispiel Unternehmen 1 2011	350
2 Beispiel Unternehmen 2 2005	280
2 Beispiel Unternehmen 2 2006	299
2 Beispiel Unternehmen 2 2007	123
2 Beispiel Unternehmen 2 2008	254
2 Beispiel Unternehmen 2 2009	1231
2 Beispiel Unternehmen 2 2010	5
2 Beispiel Unternehmen 2 2011	23
Danke für eure Hilfe

Re: Trendmodell

Verfasst: Sa Jun 12, 2021 2:16 pm
von schubbiaschwilli
Gude!

Ehrlich gesagt, komme ich mit dem Ausdruck

Code: Alles auswählen

lnX_t = lnX_0 +[b] t * g_x[/b] + e_t^X
nicht so richtig klar - Ist das jetzt so hingetippt, oder ein Stück Code, oder? Was sollen die einzelnen Ausdrücke sein (g_x, e_t^X), was genau ist dein Regressor, was genau die Regressanden (und nein, t kann es nicht sein)?

Dank&Gruß
Schubbiaschwilli

Re: Trendmodell

Verfasst: Sa Jun 12, 2021 4:57 pm
von kingerde
schubbiaschwilli hat geschrieben: Sa Jun 12, 2021 2:16 pm Gude!

Ehrlich gesagt, komme ich mit dem Ausdruck

Code: Alles auswählen

lnX_t = lnX_0 +[b] t * g_x[/b] + e_t^X
nicht so richtig klar - Ist das jetzt so hingetippt, oder ein Stück Code, oder? Was sollen die einzelnen Ausdrücke sein (g_x, e_t^X), was genau ist dein Regressor, was genau die Regressanden (und nein, t kann es nicht sein)?

Dank&Gruß
Schubbiaschwilli
Hey,
nein, dass soll kein Code sein, sondern wie das Modell auszusehen hat. Es ist quasi identisch (habe es leider sehr schlecht aufgeschrieben) wie hier: Bild
https://www.dummies.com/education/math/ ... ion-model/


Eine Trendregression mit t als unabhängige Variable,
X ist die abhängige Variable
g ist das Wachstum von X

Da t die unabhängige Variable ist, hätte ich dieses Regressionsmodell gebildet:

Code: Alles auswählen

lm(lnX ~ t)
Ich hoffe das war verständlicher.

Re: Trendmodell

Verfasst: Sa Jun 12, 2021 9:56 pm
von bigben
kingerde hat geschrieben: Sa Jun 12, 2021 4:57 pmDa t die unabhängige Variable ist, hätte ich dieses Regressionsmodell gebildet:

Code: Alles auswählen

lm(lnX ~ t)
Du solltest lm noch mitteilen, in welchem Dataframe diese Werte zu finden sind. Wenn der Dataframe df heißt, dann wäre der Aufruf

Code: Alles auswählen

lm(lnX ~ t, data = df)
Also so, wie hier im Beispiel gezeigt: http://forum.r-statistik.de/viewtopic.p ... 837#p15837


im Übrigen ist die Zeile

Code: Alles auswählen

df$t <- NA;
komplett überflüssig, weil df$t ja gleich in der nächsten Zeile ja wieder was ganz anderes zugewiesen wird. Ein Semikolon am Zeilenende braucht es in R auch nicht.

Je nachdem, was Du mit der Trendregression vorhast kann man wahrscheinlich auch überlegen, ob man

Code: Alles auswählen

df$t <- df$YEAR - min(df$YEAR) + 1
weglässt und gleich die Regression mit

Code: Alles auswählen

lm(lnX ~ YEAR, data = df)
macht. Aber das musst Du entscheiden, ob das besser ist.

Nicht das es schlimm wäre oder performance-relevant, aber überflüssige Codezeilen lenken halt ab.

LG,
Bernhard