Regressionsanalyse auf mehrere Länder anwenden

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
Don_S
Beiträge: 1
Registriert: Fr Jan 15, 2021 7:24 pm

Regressionsanalyse auf mehrere Länder anwenden

Beitrag von Don_S »

Hallo zusammen,

im Rahmen meines Studiums lerne ich aktuell die Programmierung in R.
Dort stehe ich gerade vor der Herausforderung, dass ich die lineare Regression anwenden soll, um die Daten der nächsten zwei Jahre für die Länder zu berechnen.
In meinem Datensatz befinden sich die Daten für rund 30 Länder mit dem Schema:
LOCATION.ID YEAR HOUSEHOLD.SPENDING
Bild

Nun möchte ich die Regression für jedes einzelne Land durchführen, um anschließend die Haushaltsausgaben für die zwei kommenden Länder zu prognostizieren.

Wie kann ich der Funktion lm() die Anweisung geben, einzelne Regressionen nach LOCATION.ID durchzuführen?

Für eure Hilfe bin ich sehr dankbar!
Dateianhänge
2021-01-15 19_37_01-Hausarbeit - RStudio.png
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Regressionsanalyse auf mehrere Länder anwenden

Beitrag von student »

Hallo Don_S,

vielleicht hilft dieses Video (3. Modell, 13:26 Minute) weiter?
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Regressionsanalyse auf mehrere Länder anwenden

Beitrag von EDi »

Nun möchte ich die Regression für jedes einzelne Land durchführen, um anschließend die Haushaltsausgaben für die zwei kommenden Länder zu prognostizieren.
Verstehe ich nicht. Haben Länder eine Reihenfolge ?

Bitte ein reproduzierbares Beispiel posten.
Nun möchte ich die Regression für jedes einzelne Land durchführen, um anschließend die Haushaltsausgaben für die zwei kommenden Länder zu prognostizieren.

Wie kann ich der Funktion lm() die Anweisung geben, einzelne Regressionen nach LOCATION.ID durchzuführen?
Entweder in einer Schleife oder funktionell über alle Ländr interieren. Direkt kann man das nicht in lm() machen.

Alternativ, in lm als fixed factor (mitsamt Interaktion) reinnehmen oder als Random Effekt Model - je nachdem was man erreichen möchte.

So meine Ideen dazu.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Regressionsanalyse auf mehrere Länder anwenden

Beitrag von bigben »

Don_S hat geschrieben: Fr Jan 15, 2021 7:40 pmDort stehe ich gerade vor der Herausforderung, dass ich die lineare Regression anwenden soll, um die Daten der nächsten zwei Jahre für die Länder zu berechnen.
[...]
Nun möchte ich die Regression für jedes einzelne Land durchführen, um anschließend die Haushaltsausgaben für die zwei kommenden Länder zu prognostizieren.
Wahrscheinlich ist ein Gutteil der Verwirrung dadurch erklärbar, dass mal für zwei Jahre und mal für zwei Länder prognostiziert werden soll. Wahrscheinlich ist die Prognose für andere Länder ein Tippfehler und die Vorhersage für zwei Jahre gemeint?
Ein reproduzierbares Beispiel wäre dennoch sinnvoll.
Sind "die nächsten zwei Jahre" feste Jahreszahlen oder muss man für jedes Land schauen, welches das letzte Jahr im Datensatz war?

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Regressionsanalyse auf mehrere Länder anwenden

Beitrag von Athomas »

Wie kann ich der Funktion lm() die Anweisung geben, einzelne Regressionen nach LOCATION.ID durchzuführen?
Ich weiß nicht, ob ich Dich richtig verstehe - aber Du könntest natürlich mit Interaktionen alles auf einen Schwapp rechnen lassen, etwa

Code: Alles auswählen

Spending ~ LOC.ID + LOC.ID:YEAR
Dann kriegst Du für jedes Land einen "Achsenabschnitt" und eine "Steigung"...
Antworten