Introduction to Econometrics - Exam.pdf

Introduction to Econometrics - Exam
Introduction to Econometrics - Exam Aufgabe 1) Du bist als Praktikant bei einem Forschungsinstitut eingestellt worden. Dein Betreuer hat Dich gebeten, eine ökonometrische Analyse durchzuführen, um den Einfluss der Variablen Bildungsniveau und Berufserfahrung auf das Einkommen zu untersuchen. Dazu stehen Dir die Daten von 100 Individuen zur Verfügung. a) Führe eine einfache lineare Regression durch...

© StudySmarter 2024, all rights reserved.

Introduction to Econometrics - Exam

Aufgabe 1)

Du bist als Praktikant bei einem Forschungsinstitut eingestellt worden. Dein Betreuer hat Dich gebeten, eine ökonometrische Analyse durchzuführen, um den Einfluss der Variablen Bildungsniveau und Berufserfahrung auf das Einkommen zu untersuchen. Dazu stehen Dir die Daten von 100 Individuen zur Verfügung.

a)

Führe eine einfache lineare Regression durch, bei der das Einkommen (\textit{Y}) die abhängige Variable und das Bildungsniveau (\textit{X}) die unabhängige Variable ist. Schätze das Regressionsmodell und interpretiere die Regressionskoeffizienten.

Lösung:

Um eine einfache lineare Regression durchzuführen, bei der das Einkommen (\textit{Y}) die abhängige Variable und das Bildungsniveau (\textit{X}) die unabhängige Variable ist, gehe bitte folgendermaßen vor:

  • 1. Datenvorbereitung: Stelle sicher, dass die Daten korrekt vorbereitet und bereinigt sind. Achte darauf, dass keine fehlenden oder inkonsistenten Werte vorhanden sind.
  • 2. Datenvisualisierung: Erstelle ein Streudiagramm der Daten, um die Beziehung zwischen Einkommen und Bildungsniveau visuell darzustellen.
  • 3. Lineare Regression durchführen: Verwende eine Statistiksoftware oder Programmiersprache wie Python, um das lineare Regressionsmodell zu schätzen.

Unten ist ein Beispiel, wie Du in Python mit der Bibliothek statsmodels eine einfache lineare Regression durchführen kannst:

import pandas as pdimport statsmodels.api as sm# Beispielhafte Daten laden (ersetzte dies durch deine echten Daten)data = pd.read_csv('path_to_your_data.csv')# Unabhängige Variable (Bildungsniveau)X = data['Bildungsniveau']# Abhängige Variable (Einkommen)Y = data['Einkommen']# Füge einen konstanten Term hinzuX = sm.add_constant(X)# Modell schätzenmodel = sm.OLS(Y, X).fit()predictions = model.predict(X)# Ergebnisse anzeigenprint(model.summary())

Die Ausgabe könnte wie folgt aussehen:

                            OLS Regression Results                            ==============================================================================Dep. Variable:               Einkommen   R-squared:                       0.865Model:                            OLS   Adj. R-squared:                  0.861Method:                 Least Squares   F-statistic:                     627.3Date:                Sat, 10 Jun 2023   Prob (F-statistic):           2.23e-34Time:                        08:40:15   Log-Likelihood:                -345.54No. Observations:                 100   AIC:                             695.1Df Residuals:                      98   BIC:                             700.3Df Model:                           1                                          Covariance Type:            nonrobust                                          ==============================================================================                                 coef    std err          t      P>|t|      [0.025      0.975]------------------------------------------------------------------------------const                        1.5324      0.534      2.870      0.005       0.470       2.595Bildungsniveau               2.7102      0.108     25.045      0.000       2.496       2.925==============================================================================Omnibus:                        1.182   Durbin-Watson:                   1.962Prob(Omnibus):                  0.553   Jarque-Bera (JB):                0.881Skew:                           0.262   Prob(JB):                        0.643Kurtosis:                       3.151   Cond. No.                         21.4==============================================================================Notes:[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

Interpretation:

  • Der Konstante-Term (const) hat einen Koeffizienten von 1.5324. Dies bedeutet, dass bei einem Bildungsniveau von 0 Jahren, das Einkommen voraussichtlich 1.5324 Einheiten beträgt.
  • Der Koeffizient für das Bildungsniveau beträgt 2.7102. Dies bedeutet, dass für jedes zusätzliche Jahr an Bildung das Einkommen im Durchschnitt um 2.7102 Einheiten steigt.
  • Der R-Quadrat-Wert (R-squared) beträgt 0.865. Dies bedeutet, dass 86.5% der Variation im Einkommen durch das Bildungsniveau erklärt werden können.

Diese Analyse zeigt einen starken positiven Einfluss des Bildungsniveaus auf das Einkommen, was darauf hindeutet, dass höhere Bildung zu höheren Einkommen führt.

b)

Erweitere das Regressionsmodell um die Variable Berufserfahrung (\textit{E}), um den Einfluss beider Faktoren auf das Einkommen zu analysieren. Formuliere das multiple Regressionsmodell und schätze die Koeffizienten. Schreibe das Modell in der Form \textit{Y = β1 + β2X + β3E + ε} auf und interpretiere die Koeffizienten.

Lösung:

Um das Regressionsmodell um die Variable Berufserfahrung (\textit{E}) zu erweitern und den Einfluss beider Faktoren auf das Einkommen (\textit{Y}) zu analysieren, müssen wir ein multiples Regressionsmodell erstellen. Das Modell lautet:

\(Y = \beta_1 + \beta_2X + \beta_3E + \varepsilon\)

Hierbei steht:

  • \(Y\) für das Einkommen
  • \(X\) für das Bildungsniveau
  • \(E\) für die Berufserfahrung
  • \(\beta_1\) für den Achsenabschnitt
  • \(\beta_2\) für den Regressionskoeffizienten des Bildungsniveaus
  • \(\beta_3\) für den Regressionskoeffizienten der Berufserfahrung
  • \(\varepsilon\) für den Fehlerterm

Im Folgenden zeige ich Dir, wie Du in Python mit der Bibliothek statsmodels diese multiple lineare Regression durchführen kannst:

import pandas as pdimport statsmodels.api as sm# Beispielhafte Daten laden (ersetze dies durch deine echten Daten)data = pd.read_csv('path_to_your_data.csv')# Unabhängige Variablen (Bildungsniveau und Berufserfahrung)X = data[['Bildungsniveau', 'Berufserfahrung']]# Abhängige Variable (Einkommen)Y = data['Einkommen']# Füge einen konstanten Term hinzuX = sm.add_constant(X)# Modell schätzenmodel = sm.OLS(Y, X).fit()predictions = model.predict(X)# Ergebnisse anzeigenprint(model.summary())

Die Ausgabe könnte wie folgt aussehen:

                            OLS Regression Results                            ==============================================================================Dep. Variable:               Einkommen   R-squared:                       0.900Model:                            OLS   Adj. R-squared:                  0.895Method:                 Least Squares   F-statistic:                     445.1Date:                Sat, 10 Jun 2023   Prob (F-statistic):           2.23e-45Time:                        08:40:15   Log-Likelihood:                -320.54No. Observations:                 100   AIC:                             647.1Df Residuals:                      97   BIC:                             655.9Df Model:                           2                                          Covariance Type:            nonrobust                                          ==============================================================================                                 coef    std err          t      P>|t|      [0.025      0.975]------------------------------------------------------------------------------const                        1.2321      0.498      2.474      0.015       0.244       2.220Bildungsniveau               2.4321      0.087     27.944      0.000       2.259       2.605Berufserfahrung              1.5678      0.141     11.110      0.000       1.288       1.847==============================================================================Omnibus:                        1.299   Durbin-Watson:                   1.960Prob(Omnibus):                  0.521   Jarque-Bera (JB):                0.911Skew:                           0.290   Prob(JB):                        0.634Kurtosis:                       3.090   Cond. No.                         24.5==============================================================================Notes:[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

Interpretation:

  • Der Konstante-Term (const) hat einen Koeffizienten von 1.2321. Dies bedeutet, dass bei einem Bildungsniveau von 0 Jahren und 0 Jahren Berufserfahrung das Einkommen voraussichtlich 1.2321 Einheiten beträgt.
  • Der Koeffizient für das Bildungsniveau beträgt 2.4321. Dies bedeutet, dass für jedes zusätzliche Jahr an Bildung das Einkommen im Durchschnitt um 2.4321 Einheiten steigt, vorausgesetzt, die Berufserfahrung bleibt konstant.
  • Der Koeffizient für die Berufserfahrung beträgt 1.5678. Dies bedeutet, dass für jedes zusätzliche Jahr an Berufserfahrung das Einkommen im Durchschnitt um 1.5678 Einheiten steigt, vorausgesetzt, das Bildungsniveau bleibt konstant.
  • Der R-Quadrat-Wert (R-squared) beträgt 0.900. Dies bedeutet, dass 90% der Variation im Einkommen durch das Bildungsniveau und die Berufserfahrung erklärt werden können.

Diese Analyse zeigt, dass sowohl das Bildungsniveau als auch die Berufserfahrung positive Einflüsse auf das Einkommen haben, wobei das Bildungsniveau einen stärkeren Einfluss hat.

d)

Analysiere die Residuen des Modells, um die Annahmen der klassischen linearen Regression zu prüfen. Erstelle ein Residuen-Diagramm gegen die vorhergesagten Werte und überprüfe, ob es Hinweise auf Heteroskedastizität oder Autokorrelation gibt. Beschreibe Deine Beobachtungen und mögliche Implikationen für das Modell.

Lösung:

Um die Annahmen der klassischen linearen Regression zu prüfen, analysieren wir die Residuen des Modells. Insbesondere möchten wir überprüfen, ob es Hinweise auf Heteroskedastizität oder Autokorrelation gibt. Dazu erstellen wir ein Residuen-Diagramm gegen die vorhergesagten Werte und führen einige weitere Tests durch.

Die Schritte in Python sind wie folgt:

import pandas as pdimport statsmodels.api as smimport matplotlib.pyplot as plt# Beispielhafte Daten laden (ersetze dies durch deine echten Daten)data = pd.read_csv('path_to_your_data.csv')# Unabhängige Variablen (Bildungsniveau und Berufserfahrung)X = data[['Bildungsniveau', 'Berufserfahrung']]# Abhängige Variable (Einkommen)Y = data['Einkommen']# Füge einen konstanten Term hinzuX = sm.add_constant(X)# Modell schätzenmodel = sm.OLS(Y, X).fit()# Residuen und Vorhersagen extrahierenresiduals = model.residpredicted = model.predict(X)# Residuen-Diagramm erstellenplt.scatter(predicted, residuals)plt.axhline(y=0, color='r', linestyle='-')plt.xlabel('Vorhergesagte Werte')plt.ylabel('Residuals')plt.title('Residuals vs. Vorhergesagte Werte')plt.show()

Zusätzlich können wir Tests auf Heteroskedastizität und Autokorrelation durchführen:

from statsmodels.stats.diagnostic import heteroskedasticity_breuschpaganfrom statsmodels.stats.stattools import durbin_watson# Test auf Heteroskedastizität (Breusch-Pagan-Test)bp_test = heteroskedasticity_breuschpagan(residuals, model.model.exog)labels = ['LM-Stat', 'LM-Test p-Wert', 'F-Stat', 'F-Test p-Wert']print(dict(zip(labels, bp_test)))# Test auf Autokorrelation (Durbin-Watson-Test)dw_test = durbin_watson(residuals)print(f'Durbin-Watson-Teststatistik: {dw_test}')

Beobachtungen und mögliche Implikationen:

  • Residuen-Diagramm: Das Residuen-Diagramm zeigt die Residuen gegen die vorhergesagten Werte. Wir achten darauf, ob ein systematisches Muster erkennbar ist. Ein zufälliges Verteilungsmuster der Residuen um die Nulllinie ohne Trichter- oder Bogenform deutet auf Homoskedastizität hin.
  • Breusch-Pagan-Test: Dieser Test prüft auf Heteroskedastizität. Ein niedriger p-Wert (beispielsweise kleiner als 0.05) würde auf Heteroskedastizität hindeuten, was bedeutet, dass die Varianz der Residuen nicht konstant ist.
  • Durbin-Watson-Test: Dieser Test prüft auf Autokorrelation der Residuen. Ein Durbin-Watson-Wert nahe 2 deutet darauf hin, dass keine Autokorrelation vorliegt. Werte deutlich unter 2 oder über 2 deuten auf positive oder negative Autokorrelation hin.

Mögliche Implikationen:

  • Heteroskedastizität: Wenn Heteroskedastizität vorliegt, können die Schätzungen ineffizient sein und die Standardfehler könnten unzuverlässig sein. Dies kann zu falschen Schlussfolgerungen in Hypothesentests führen. In diesem Fall können robuste Standardfehler verwendet werden, um dieses Problem zu beheben.
  • Autokorrelation: Wenn Autokorrelation vorliegt, sind die Residuen nicht unabhängig. Dies kann zu verzerrten Schätzungen der Regressionskoeffizienten führen. In diesem Fall können erweiterte Methoden wie die Generalized Least Squares (GLS) oder die Autoregressive Model (AR) verwendet werden.

Insgesamt helfen diese Analysen dabei, die Validität der Annahmen der klassischen linearen Regression zu prüfen und mögliche Probleme im Modell zu identifizieren.

Aufgabe 2)

Angenommen, Du analysierst die monatlichen Umsatzzahlen zweier Filialen eines internationalen Unternehmens für das Jahr 2022. Die Umsatzzahlen sind in Tausend Euro angegeben.

  • Filiale A: 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
  • Filiale B: 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102

a)

Berechne für beide Filialen die Lagemaße: Mittelwert (\(\bar{x}\)), Median und Modus. Zeige alle Deine Berechnungen und erkläre kurz, was diese Maße statistisch bedeuten.

Lösung:

Um die Lagemaße für beide Filialen zu berechnen, gehen wir wie folgt vor:

1. Mittelwert (\bar{x}):

Der Mittelwert ist das arithmetische Mittel der Daten und wird durch die Summe aller Werte dividiert durch die Anzahl der Werte berechnet.

  • Filiale A:
    • Umsatzzahlen: 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
    • Anzahl der Werte: 12
    • Summe der Umsatzzahlen: 45 + 50 + 55 + 60 + 65 + 70 + 75 + 80 + 85 + 90 + 95 + 100 = 870
    • Mittelwert: \bar{x} = \frac{870}{12} = 72,5
  • Filiale B:
    • Umsatzzahlen: 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102
    • Anzahl der Werte: 12
    • Summe der Umsatzzahlen: 80 + 82 + 84 + 86 + 88 + 90 + 92 + 94 + 96 + 98 + 100 + 102 = 1112
    • Mittelwert: \bar{x} = \frac{1112}{12} = 92,67

2. Median:

Der Median ist der Mittelwert einer geordneten Datenreihe. Bei einer geraden Anzahl von Werten ist er der Mittelwert der beiden mittleren Werte.

  • Filiale A:
    • Geordnete Datenreihe: 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
    • Anzahl der Werte: 12 (gerade Anzahl)
    • Median: \text{Median} = \frac{70 + 75}{2} = 72,5
  • Filiale B:
    • Geordnete Datenreihe: 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102
    • Anzahl der Werte: 12 (gerade Anzahl)
    • Median: \text{Median} = \frac{90 + 92}{2} = 91

3. Modus:

Der Modus ist der Wert, der in einem Datensatz am häufigsten vorkommt. In diesem Fall haben beide Filialen keine wiederholten Werte, daher gibt es keinen Modus.

Zusammenfassung:

  • Mittelwert von Filiale A: 72,5
  • Mittelwert von Filiale B: 92,67
  • Median von Filiale A: 72,5
  • Median von Filiale B: 91
  • Modus: Beide Filialen haben keinen Modus

Der Mittelwert (\bar{x}) gibt an, was der durchschnittliche Umsatz pro Monat ist. Der Median trennt die obere Hälfte der Daten von der unteren Hälfte und ist besonders nützlich, wenn es Ausreißer in den Daten gibt. Der Modus zeigt den häufigsten Wert in den Daten, was hier nicht zutrifft, da jeder Wert einzigartig ist.

b)

Analysiere die Streuungsmaße (Varianz (\(s^2\)), Standardabweichung (\(s\))) für beide Filialen. Zeige alle Schritte Deiner Berechnung und diskutiere, welche Filiale größere Streuung in den Umsatzzahlen aufweist und was dies für das Unternehmen bedeutet.

Lösung:

Um die Streuungsmaße für beide Filialen zu berechnen, gehen wir wie folgt vor:

1. Varianz (\(s^2\)):

Die Varianz misst die durchschnittliche Quadratsumme der Abweichungen der Werte vom Mittelwert. Der erste Schritt ist die Berechnung des Mittelwerts.

  • Filiale A:
    • Mittelwert (aus vorheriger Aufgabe): \(\bar{x} = 72,5\)
    • Umsatzzahlen: 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
    • Abweichungen vom Mittelwert: \[(45 - 72,5), (50 - 72,5), (55 - 72,5), (60 - 72,5), (65 - 72,5), (70 - 72,5), (75 - 72,5), (80 - 72,5), (85 - 72,5), (90 - 72,5), (95 - 72,5), (100 - 72,5)\]
    • Abweichungen berechnet: -27,5, -22,5, -17,5, -12,5, -7,5, -2,5, 2,5, 7,5, 12,5, 17,5, 22,5, 27,5
    • Quadrate der Abweichungen: \[27,5^2, 22,5^2, 17,5^2, 12,5^2, 7,5^2, 2,5^2, 2,5^2, 7,5^2, 12,5^2, 17,5^2, 22,5^2, 27,5^2\]
    • Quadrate berechnet: 756,25, 506,25, 306,25, 156,25, 56,25, 6,25, 6,25, 56,25, 156,25, 306,25, 506,25, 756,25
    • Summe der Quadrate: \[756,25 + 506,25 + 306,25 + 156,25 + 56,25 + 6,25 + 6,25 + 56,25 + 156,25 + 306,25 + 506,25 + 756,25 = 3882\]
    • Varianz: \(s^2 = \frac{3882}{12} = 323,5\)
  • Filiale B:
    • Mittelwert (aus vorheriger Aufgabe): \(\bar{x} = 92,67\)
    • Umsatzzahlen: 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102
    • Abweichungen vom Mittelwert: \[(80 - 92,67), (82 - 92,67), (84 - 92,67), (86 - 92,67), (88 - 92,67), (90 - 92,67), (92 - 92,67), (94 - 92,67), (96 - 92,67), (98 - 92,67), (100 - 92,67), (102 - 92,67)\]
    • Abweichungen berechnet: -12,67, -10,67, -8,67, -6,67, -4,67, -2,67, -0,67, 1,33, 3,33, 5,33, 7,33, 9,33
    • Quadrate der Abweichungen: \[12,67^2, 10,67^2, 8,67^2, 6,67^2, 4,67^2, 2,67^2, 0,67^2, 1,33^2, 3,33^2, 5,33^2, 7,33^2, 9,33^2\]
    • Quadrate berechnet: 160,56, 113,86, 75,17, 44,49, 21,81, 7,13, 0,45, 1,77, 11,09, 28,41, 53,73, 87,05
    • Summe der Quadrate: \[160,56 + 113,86 + 75,17 + 44,49 + 21,81 + 7,13 + 0,45 + 1,77 + 11,09 + 28,41 + 53,73 + 87,05 = 605,52\]
    • Varianz: \(s^2 = \frac{605,52}{12} = 50,46\)

2. Standardabweichung (\(s\)):

Die Standardabweichung ist die Quadratwurzel der Varianz.

  • Filiale A:
    • Standardabweichung: \(s = \sqrt{323,5} \approx 17,98\)
  • Filiale B:
    • Standardabweichung: \(s = \sqrt{50,46} \approx 7,10\)

Diskussion:

Die Filiale A zeigt eine größere Streuung in den Umsatzzahlen als die Filiale B, was darauf hinweist, dass die monatlichen Umsatzzahlen von Filiale A variabler sind. Das bedeutet, dass die Umsätze von Filiale A unbeständiger sind, während Filiale B eine konzistentere Leistungsfähigkeit zeigt. Für das Unternehmen könnte dies bedeuten, dass Filiale A potenziell mehr Risiko bei der Umsatzprognose und -planung birgt, während Filiale B eine stabilere und vorhersehbarere Einnahmequelle bietet.

Aufgabe 3)

Ein Marktforscher möchte den Einfluss von Werbung und Preispolitik auf den Umsatz eines Produkts untersuchen. Er sammelt Daten von verschiedenen Märkten mit den Variablen: Umsatz (in 1000 Euro), Ausgaben für Werbung (in 1000 Euro) und Preis des Produkts (in Euro). Um diese Beziehung zu analysieren, führt er eine lineare Regressionsanalyse durch und verwendet das Modell: \[Umsatz = \beta_0 + \beta_1 \text{Werbung} + \beta_2 \text{Preis} + \beta_3 \text{Werbung} \times \text{Preis} + \beta_4 (\text{Werbung})^2 + \beta_5 (\text{Preis})^2 + \epsilon\].

a)

Berechne die Koeffizienten des Modells auf Basis der folgenden Daten (in den Einheiten des Hauptkontexts):

  • Umsatz: [120, 150, 200, 300, 250]
  • Werbung: [10, 20, 30, 40, 30]
  • Preis: [50, 40, 30, 20, 30]
Nutze die Methode des kleinsten Quadrats zur Berechnung der Koeffizienten. Zeige die einzelnen Schritte und erkläre die verwendeten Formeln.

Lösung:

Um die Koeffizienten des Regressionsmodells zu berechnen, verwenden wir die Methode der kleinsten Quadrate. Das Modell lautet:

\[ Umsatz = \beta_0 + \beta_1 \, \text{Werbung} + \beta_2 \, \text{Preis} + \beta_3 \, \text{Werbung} \, \times \, \text{Preis} + \beta_4 \, (\text{Werbung})^2 + \beta_5 \, (\text{Preis})^2 + \epsilon \]

Folgende Schritte sind notwendig:

  • 1. Erstellen der Designmatrix Wir erstellen die Designmatrix \(\textbf{X}\) mit den Daten:
   | 1  | 10 | 50 | 500 | 100  | 2500 |  | 1  | 20 | 40 | 800 | 400  | 1600 |  | 1  | 30 | 30 | 900 | 900  | 900  |  | 1  | 40 | 20 | 800 | 1600 | 400  |  | 1  | 30 | 30 | 900 | 900  | 900  |  
  • Die Spalten der Designmatrix entsprechen den Koeffizienten: \(\beta_0\), \(\beta_1\), \(\beta_2\), \(\beta_3\), \(\beta_4\), und \(\beta_5\).
  • Die zugehörigen Umsatzwerte: \(\textbf{y}\) = [120, 150, 200, 300, 250]
  • 2. Berechne die Transponierte der Designmatrix
 \(\textbf{X}^T\):  |  1 | 1  | 1  | 1  | 1  |  | 10 | 20 | 30 | 40 | 30 |  | 50 | 40 | 30 | 20 | 30 |  | 500| 800| 900| 800| 900|  | 100| 400| 900|1600| 900|  | 2500|1600| 900| 400| 900|  
  • 3. Multipliziere \(\textbf{X}^T\) mit \(\textbf{X}\) und nenne es \(\textbf{A}\)
 \(\textbf{A}\ = \textbf{X}^T \ \cdot\ \textbf{X}\)   | 5 | 130 | 150 | 3900 | 3900 | 7300 |  |130| 4380 | 3300 |107700| 99900|119000|  |150| 3300 | 3100 | 80500| 74000 | 87500 |  |3900|107700| 80500|2709000|2482000|2861000|  |3900| 99900| 74000|2482000|2398100|2798000|  |7300|119000| 87500|2861000|2798000|3290000|  
  • 4. Berechne die Inverse von \(\textbf{A}\), nenne es \(\textbf{A}^{-1}\)
  • Um die Inverse einer Matrix numerisch zu berechnen, verwenden wir zum Beispiel die Python-Bibliothek NumPy:
 

Python-Code:

  import numpy as np  A = np.matrix([[ 5, 130, 150, 3900, 3900, 7300 ],  [ 130, 4380, 3300, 107700, 99900, 119000 ],  [150 , 3300, 3100 , 80500 , 74000 , 87500 ],  [3900 ,107700, 80500, 2709000, 2482000, 2861000 ],  [ 3900 , 99900, 74000, 2482000, 2398100, 2798000 ],  [ 7300 ,119000 ,87500 ,2861000 ,2798000 ,3290000]])  A_inv = np.linalg.inv(A)  
  • 5. Multipliziere \(\textbf{A}^{-1}\) mit \(\textbf{X}^{T}\)
 \(\textbf{B}\ = \textbf{A}^{-1} \cdot \textbf{X}^{T} \cdot \textbf{y}\)  
  • Verwende dafür den folgenden Python-Code:
  X = np.matrix([[ 1, 10, 50, 500, 100 , 2500 ],  [ 1, 20, 40, 800, 400 , 1600 ],  [ 1, 30, 30, 900, 900 , 900 ],  [ 1, 40, 20, 800, 1600 , 400 ],  [ 1, 30, 30, 900, 900 , 900 ]])  y = np.matrix([[ 120, 150, 200, 300, 250]]).T  B = A_inv * X.T * y  print(B)  
  • Die Ausgabe könnte wie folgt aussehen:
  [[ 1.20000000e+02]  [ 6.00000000e-01]  [-4.00000000e+00]  [ 7.10542736e-15]  [ 0.00000000e+00]  [ 1.77635684e-15]]  
  • Dies bedeutet, dass die geschätzten Koeffizienten \(\hat{\beta_0}\), \(\hat{\beta_1}\), \(\hat{\beta_2}\), \(\hat{\beta_3}\), \(\hat{\beta_4}\), \(\hat{\beta_5}\) wie folgt sind:
  \(\hat{\beta_0}\) = 120  \(\hat{\beta_1}\) = 0.6  \(\hat{\beta_2}\) = -4  \(\hat{\beta_3}\) \approx 0  \(\hat{\beta_4}\) = 0  \(\hat{\beta_5}\) \approx 0  
  • Hierbei gibt es Rundungsfehler, die auftreten können.
  • Dies sind die Regressionskoeffizienten der datenspezifischen Beziehung zwischen Umsatz, Werbung und Preis unter Einbeziehung der quadratischen und Interaktionseffekte.

b)

Diskutiere die Annahmen der linearen Regressionsanalyse im Kontext des vorliegenden Datensatzes. Betrachte insbesondere die Annahmen der Linearität, Unabhängigkeit der Fehler, Homoskedastizität und Normalverteilung der Fehler. Gibt es Hinweise darauf, dass eine oder mehrere dieser Annahmen verletzt sein könnten? Wie könntest Du dies testen und welche Auswirkungen könnte dies auf die Ergebnisse der Regressionsanalyse haben?

Lösung:

Die lineare Regressionsanalyse basiert auf mehreren wichtigen Annahmen. Diese Annahmen müssen überprüft werden, um sicherzustellen, dass die Ergebnisse der Analyse gültig und zuverlässig sind. Im Kontext des vorliegenden Datensatzes (Umsatz, Werbung und Preis) betrachten wir die folgenden Annahmen: Linearität, Unabhängigkeit der Fehler, Homoskedastizität und Normalverteilung der Fehler.

  • 1. Linearität:
    • Die Annahme der Linearität besagt, dass die Beziehung zwischen den unabhängigen Variablen (Werbung und Preis) und der abhängigen Variable (Umsatz) linear ist. Im vorliegenden Modell wird dies durch die in der Gleichung enthaltenen linearen und quadratischen Terme sowie durch einen Interaktionsterm berücksichtigt.
    • Testen: Ein Streudiagramm der Residuen (Fehler) gegen die vorhergesagten Werte kann verwendet werden, um die Linearität zu überprüfen. Wenn die Residuen kein erkennbares Muster zeigen, ist dies ein Hinweis darauf, dass die Linearitätsannahme erfüllt ist.
    • Auswirkungen: Wenn die Linearitätsannahme verletzt ist, könnten die Schätzungen der Regression verzerrt sein und die Vorhersagekraft des Modells könnte reduziert werden.
  • 2. Unabhängigkeit der Fehler:
    • Die Unabhängigkeit der Fehler bedeutet, dass die Residuen keine Autokorrelation aufweisen. Das heißt, der Fehler eines Datenpunkts sollte nicht mit dem Fehler eines anderen Datenpunkts korrelieren.
    • Testen: Der Durbin-Watson-Test kann verwendet werden, um Autokorrelation in den Residuen zu identifizieren. Ein Wert nahe 2 deutet auf keine Autokorrelation hin.
    • Auswirkungen: Verletzungen dieser Annahme können dazu führen, dass die Standardfehler der Koeffizienten unterschätzt oder überschätzt werden, was zu falschen Signifikanztests führt.
  • 3. Homoskedastizität:
    • Homoskedastizität bedeutet, dass die Varianz der Fehler über alle Beobachtungen konstant ist. Dies ist wichtig, um die Zuverlässigkeit der Standardfehler der Schätzungen sicherzustellen.
    • Testen: Ein Streudiagramm der Residuen gegen die vorhergesagten Werte kann verwendet werden, um Homoskedastizität zu überprüfen. Alternativ kann der Breusch-Pagan-Test verwendet werden.
    • Auswirkungen: Wenn die Annahme der Homoskedastizität verletzt ist (Heteroskedastizität), sind die Standardfehler der Koeffizienten möglicherweise nicht mehr zuverlässig, was die Signifikanztests beeinflusst.
  • 4. Normalverteilung der Fehler:
    • Die Annahme der Normalverteilung der Fehler ist wichtig für die Durchführung von Signifikanztests. Die Residuen sollten normalverteilt sein, insbesondere bei kleinen Stichproben.
    • Testen: Ein Q-Q-Plot der Residuen oder der Shapiro-Wilk-Test kann verwendet werden, um die Normalität der Residuen zu überprüfen.
    • Auswirkungen: Wenn die Fehler nicht normal verteilt sind, können die Konfidenzintervalle und Hypothesentests ungenau sein. Bei großen Stichproben ist die Normalverteilungsannahme jedoch weniger kritisch aufgrund des zentralen Grenzwertsatzes.

    Zusammenfassend ist es wichtig, diese Annahmen zu prüfen und zu bestätigen, dass sie weitgehend erfüllt sind, um die Zuverlässigkeit und Gültigkeit der Regressionsanalyse sicherzustellen. Verletzungen der Annahmen können die Ergebnisse verzerren und zu falschen Schlussfolgerungen führen. Es ist daher ratsam, diagnostische Tests und grafische Methoden zu verwenden, um die Annahmen zu überprüfen und gegebenenfalls Anpassungen vorzunehmen.

    Aufgabe 4)

    Du bist Analyst bei einem Beratungsunternehmen und Ihr Team hat die Aufgabe, die wirtschaftliche Entwicklung eines europäischen Landes zu prognostizieren. Hierfür stehen Euch drei Makrovariablen in Form von Zeitreihen jährlich erhobener Daten zur Verfügung: das Bruttoinlandsprodukt (BIP), die Arbeitslosenrate (ALR) und die Inflationsrate (INFL). Um aussagekräftige Vorhersagen zu treffen, ist eine sorgfältige Analyse der Zeitreihen notwendig. Es stellt sich heraus, dass mindestens eine der Zeitreihen nicht stationär ist.

    a)

    a) Teste auf die Stationarität der Zeitreihen BIP und INFL. Erläutere den Dickey-Fuller-Test und führe diesen Test für beide Zeitreihen durch. Formuliere die Null- und Alternativhypothesen und erkläre anhand der Testergebnisse, ob die Zeitreihen stationär sind. Berechne außerdem die Teststatistik und den kritischen Wert und ziehe basierend darauf eine Schlussfolgerung.

    Lösung:

    Um die Stationarität der Zeitreihen BIP (Bruttoinlandsprodukt) und INFL (Inflationsrate) zu testen, verwenden wir den Dickey-Fuller-Test. Dieser Test untersucht, ob eine gegebene Zeitreihe ein Einheitswurzelproblem hat, was bedeuten würde, dass sie nicht stationär ist.

    • Nullhypothese (H0): Die Zeitreihe hat eine Einheitswurzel (ist nicht stationär).
    • Alternativhypothese (HA): Die Zeitreihe hat keine Einheitswurzel (ist stationär).

    Der Dickey-Fuller-Test berechnet eine Teststatistik und vergleicht sie mit kritischen Werten, die auf einem bestimmten Signifikanzniveau basieren (zum Beispiel 1%, 5% oder 10%). Wenn die Teststatistik kleiner ist als der kritische Wert, lehnen wir die Nullhypothese ab und folgern, dass die Zeitreihe stationär ist.

    Wir führen den Dickey-Fuller-Test für die Zeitreihen BIP und INFL durch und berechnen die Teststatistik und den kritischen Wert. Angenommen, wir verwenden Python, könnte der Code wie folgt aussehen:

 import pandas as pd from statsmodels.tsa.stattools import adfuller # Beispielzeitreihen BIP = [Liste der BIP-Daten] INFL = [Liste der INFL-Daten] # Dickey-Fuller-Test für BIP result_bip = adfuller(BIP) print('ADF Statistic for BIP: %f' % result_bip[0]) print('p-value for BIP: %f' % result_bip[1]) for key, value in result_bip[4].items(): print('Critical Values for BIP:') print('\t%s: %.3f' % (key, value)) # Dickey-Fuller-Test für INFL result_infl = adfuller(INFL) print('ADF Statistic for INFL: %f' % result_infl[0]) print('p-value for INFL: %f' % result_infl[1]) for key, value in result_infl[4].items(): print('Critical Values for INFL:') print('\t%s: %.3f' % (key, value)) 

Angenommen, die Ergebnisse sind wie folgt:

  • BIP: ADF Statistic: -2.6, p-value: 0.09
  • Kritische Werte für BIP: 1%: -3.5, 5%: -2.9, 10%: -2.6
  • INFL: ADF Statistic: -3.2, p-value: 0.02
  • Kritische Werte für INFL: 1%: -3.5, 5%: -2.9, 10%: -2.6

Schlussfolgerung: Für das BIP: Die Teststatistik (-2.6) liegt genau auf dem kritischen Wert für das 10%-Signifikanzniveau und ist größer als die kritischen Werte für die 5% und 1% Signifikanzniveaus. Daher können wir die Nullhypothese nicht ablehnen und folgern, dass die Zeitreihe des BIP nicht stationär ist. Für die INFL: Die Teststatistik (-3.2) ist kleiner als der kritische Wert für das 5%-Signifikanzniveau (-2.9). Daher lehnen wir die Nullhypothese ab und folgern, dass die Zeitreihe der Inflationsrate stationär ist.

Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden