Lerninhalte finden
Features
Entdecke
© StudySmarter 2024, all rights reserved.
Datenaufbereitung und Feature Engineering sind grundlegende Schritte in der Datenanalyse, um die Qualität und Nutzbarkeit der Daten zu sichern. Diese Schritte umfassen die Bereinigung, Transformation und Auswahl relevanter Datenmerkmale für die Modellierung. Gegeben sei ein Datensatz mit fehlenden Werten, Ausreißern, verschiedenen Datenquellen und unterschiedlichen Variablenskalierungen.
Du hast einen Datensatz mit 10.000 Einträgen und mehreren Attributen. 5% der Daten sind fehlende Werte. Welche Techniken der Datenbereinigung würdest Du anwenden, um dieses Problem zu lösen, und warum?
Lösung:
Um die fehlenden Werte in einem Datensatz mit 10.000 Einträgen und mehreren Attributen zu bereinigen, gibt es verschiedene Techniken, die Du anwenden kannst. Hier sind einige davon und die Gründe, warum sie nützlich sein können:
Die Wahl der Methode hängt von der Art der Daten, der Menge der fehlenden Werte und den speziellen Anforderungen der Analyse ab. Es kann auch sinnvoll sein, mehrere Techniken zu kombinieren, um die bestmögliche Datenqualität zu erreichen.
Angenommen, der Datensatz enthält numerische und kategorische Variablen. Die numerischen Variablen sind in verschiedenen Maßstäben (z.B. einige Werte liegen zwischen 0-1, andere zwischen 1.000-10.000). Beschreibe die Schritte, die unternommen werden sollten, um diese Variablen für eine nachfolgende Modellierung zu transformieren und zu skalieren. Zeige dies durch eine Beispieltransformation für eine numerische Variable des Datensatzes.
Lösung:
Um einen Datensatz, der numerische und kategoriale Variablen enthält, für die Modellierung vorzubereiten, musst Du beide Arten von Variablen entsprechend transformieren und skalieren. Hier sind die Schritte, die Du unternehmen solltest, und ein Beispiel für die Transformation einer numerischen Variable:
Angenommen, wir haben eine numerische Variable “Einkommen”, die Werte zwischen 1.000 und 10.000 enthält. Wir werden die Min-Max-Skalierung verwenden, um die Werte auf einen Bereich von 0 bis 1 zu transformieren.
Die Formel für die Min-Max-Skalierung lautet:
\[ X_{neu} = \frac{X - X_{min}}{X_{max} - X_{min}} \]
Gegeben:
Die Transformation ergibt folgendes:
\[ X_{neu} = \frac{4500 - 1000}{10000 - 1000} = \frac{3500}{9000} = 0.3889 \]
Alternativ kannst Du die Standardisierung anwenden, wobei die Werte so transformiert werden, dass sie einen Mittelwert von 0 und eine Standardabweichung von 1 haben. Dies erfolgt mit der Formel:
\[ X_{neu} = \frac{X - \bar{X}}{\text{Std}} \]
Hierbei:
Angenommen: \( \bar{X} = 5.500 \) und \( \text{Std} = 2.000 \)
Für einen spezifischen Datenpunkt (\(X\)) = 4.500 ergibt dies:
\[ X_{neu} = \frac{4500 - 5500}{2000} = \frac{-1000}{2000} = -0.5 \]
Diese Schritte und Methoden gewährleisten, dass alle numerischen Variablen auf einer vergleichbaren Skala liegen und machen die Daten für die weitere Modellierung bereit.
Im Rahmen eines Projekts in der Abteilung Business Analytics müsst ihr mögliche Zusammenhänge zwischen verschiedenen Prädiktoren und einer Zielvariablen untersuchen. Es stehen euch Daten von mehreren hundert Kunden zur Verfügung. Es wird erwartet, dass ihr sowohl die Lineare Regression als auch die Logistische Regression anwendet, um verschiedene Analyseziele zu erreichen.
Nehmt an, ihr wollt den Jahresumsatz (kontinuierliche Zielvariable) eines Kunden basierend auf den Prädiktoren 'Anzahl der Bestellungen', 'Durchschnittliche Bestellgröße' und 'Kundenzufriedenheit' vorhersagen. Erkläre den Ansatz der Linearen Regression, formuliert das Modell mit den gegebenen Prädiktoren und beschreibt die Methode zur Bestimmung der Modellparameter.
Lösung:
Um den Jahresumsatz eines Kunden basierend auf den Prädiktoren 'Anzahl der Bestellungen', 'Durchschnittliche Bestellgröße' und 'Kundenzufriedenheit' vorherzusagen, nutzen wir das Modell der Linearen Regression. Folgende Schritte sind notwendig.
Wir haben eine kontinuierliche Zielvariable 'Jahresumsatz' (\text{Revenue}) und die Prädiktoren 'Anzahl der Bestellungen' (\text{Orders}), 'Durchschnittliche Bestellgröße' (\text{AvgOrderSize}) und 'Kundenzufriedenheit' (\text{CustomerSatisfaction}). Das Modell kann ausgedrückt werden als:
\[\text{Revenue} = \beta_0 + \beta_1 \text{Orders} + \beta_2 \text{AvgOrderSize} + \beta_3 \text{CustomerSatisfaction} + \epsilon\]Hierbei sind:
Die Parameter des Modells (\(\beta_0, \beta_1, \beta_2, \beta_3\)) werden durch das Verfahren der Kleinste-Quadrate-Schätzung ermittelt. Hierbei wird die Residualsumme der Quadrate (RSS, Residual Sum of Squares) minimiert, um die besten Schätzwerte für die Regressionskoeffizienten zu finden.
Die RSS ist definiert als:
\[RSS = \sum_{i=1}^{n}(y_i - \hat{y}_i)^2\] \[ \hat{y}_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \beta_3 x_{i3} \]
Hierbei ist \(y_i\) der tatsächliche Wert des Jahresumsatzes, und \(\hat{y}_i\) ist der durch das Modell vorhergesagte Wert.
Um die RSS zu minimieren, leiten wir die RSS-Funktion teilweise bezüglich jedes Regressionskoeffizienten ab und setzen die Ableitungen gleich null. Dies führt zu einem System von Gleichungen, das wir lösen können, um die Werte der Regressionskoeffizienten zu finden:
\[\frac{\partial RSS}{\partial \beta_0} = 0\] \[\frac{\partial RSS}{\partial \beta_1} = 0\] \[\frac{\partial RSS}{\partial \beta_2} = 0\] \[\frac{\partial RSS}{\partial \beta_3} = 0\]
Die Annahme der Linearität ist entscheidend, da sie sicherstellt, dass die Beziehung zwischen den Prädiktoren und der Zielvariablen linear ist. Wenn diese Annahme nicht erfüllt ist, kann das Modell ungenaue Vorhersagen liefern.Um die Linearität zu überprüfen, können folgende Schritte unternommen werden:
Die Lineare Regression ist ein leistungsfähiges Werkzeug zur Vorhersage des Jahresumsatzes basierend auf Prädiktoren wie 'Anzahl der Bestellungen', 'Durchschnittliche Bestellgröße' und 'Kundenzufriedenheit'. Die sorgfältige Überprüfung der Modellannahmen und die Minimierung der RSS sind entscheidend für die Genauigkeit und Zuverlässigkeit des Modells.
Für eine andere Analyse müsst ihr die Wahrscheinlichkeit dafür vorhersagen, dass ein Kunde auf ein neues Produktangebot positiv reagieren wird (binäre Zielvariable). Der Reaktionsstatus (0 = keine Reaktion, 1 = positive Reaktion) hängt von den Prädiktoren 'Anzahl der Bestellungen', 'Durchschnittliche Bestellgröße' und 'Kundenzufriedenheit' ab. Beschreibt das Modell der Logistischen Regression für dieses Problem und erklärt, wie ihr die Wahrscheinlichkeiten für die positive Reaktion schätzen würdet.
Lösung:
Um die Wahrscheinlichkeit dafür vorherzusagen, dass ein Kunde auf ein neues Produktangebot positiv reagieren wird (binäre Zielvariable), nutzen wir das Modell der Logistischen Regression. Folgende Schritte sind notwendig:
Wir haben eine binäre Zielvariable 'Reaktionsstatus' (0 = keine Reaktion, 1 = positive Reaktion) und die Prädiktoren 'Anzahl der Bestellungen' (\text{Orders}), 'Durchschnittliche Bestellgröße' (\text{AvgOrderSize}) und 'Kundenzufriedenheit' (\text{CustomerSatisfaction}). Das Modell der Logistischen Regression kann wie folgt ausgedrückt werden:
\[\log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 \text{Orders} + \beta_2 \text{AvgOrderSize} + \beta_3 \text{CustomerSatisfaction}\]Hierbei sind:
\[\sigma(z) = \frac{1}{1 + e^{-z}}\]Hierbei ist \(z\) wie folgt definiert:
\[z = \beta_0 + \beta_1 \text{Orders} + \beta_2 \text{AvgOrderSize} + \beta_3 \text{CustomerSatisfaction}\]
Um die Wahrscheinlichkeit einer positiven Reaktion (\(p\)) zu schätzen, setzen wir die lineare Kombination der Prädiktoren in die logistische Funktion ein:
\[p = \sigma(z) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 \text{Orders} + \beta_2 \text{AvgOrderSize} + \beta_3 \text{CustomerSatisfaction})}}\]Hierbei gibt \(p\) die geschätzte Wahrscheinlichkeit an, mit der ein Kunde positiv auf das neue Produktangebot reagieren wird.
Das Modell der Logistischen Regression eignet sich ideal zur Vorhersage der Wahrscheinlichkeit einer positiven Reaktion auf ein neues Produktangebot. Durch die Nutzung der logistischen Funktion lassen sich Wahrscheinlichkeiten schätzen, die zwischen 0 und 1 liegen. Die sorgfältige Bestimmung der Modellparameter ist entscheidend, um genaue und zuverlässige Vorhersagen zu treffen.
Angenommen, nach der Schätzung der Modelle für die beiden Fragestellungen stellt ihr fest, dass einige Prädiktoren nicht signifikant sind. Erklärt, was ihr daraus schließen könnt und wie ihr das Modell entsprechend anpassen würdet. Geht dabei auf die Konzepte der Variablenselektion und Modellvalidierung ein.
Lösung:
Nach der Schätzung der Modelle für die beiden Fragestellungen kann es vorkommen, dass einige Prädiktoren nicht signifikant sind. Folgende Schritte sind notwendig, um dieses Problem zu adressieren:
Die Signifikanz eines Prädiktors in einem Modell gibt an, wie stark dieser Prädiktor zur Erklärung der Zielvariablen beiträgt. Ein signifikantes Prädiktor hat einen statistisch bedeutsamen Einfluss auf die Zielvariable. Das bedeutet, dass die Wahrscheinlichkeit, dass der beobachtete Einfluss des Prädiktors zufällig auftritt, sehr gering ist. Die Signifikanz wird häufig durch den p-Wert gemessen. Ein niedriger p-Wert (meist kleiner als 0.05) deutet darauf hin, dass der Prädiktor signifikant ist.
Um nicht signifikante Prädiktoren zu identifizieren, prüfen wir die p-Werte der Prädiktoren in unseren Modellen. Prädiktoren mit p-Werten größer als 0.05 sind in der Regel nicht signifikant und können aus dem Modell entfernt werden. So geht man dabei vor:
Es gibt verschiedene Methoden zur Variablenselektion, um das beste Modell zu finden:
Beginne mit einem leeren Modell und füge schrittweise die signifikantesten Prädiktoren hinzu, bis keine weiteren signifikanten Prädiktoren mehr gefunden werden.
Beginne mit einem vollständigen Modell, das alle Prädiktoren enthält, und entferne schrittweise die am wenigsten signifikanten Prädiktoren.
Kombination von Vorwärts- und Rückwärtsselektion. Prädiktoren werden sowohl hinzugefügt als auch entfernt, basierend auf ihrer Signifikanz.
Die Modellvalidierung ist entscheidend, um sicherzustellen, dass das Modell nicht nur gut zu den Trainingsdaten passt, sondern auch zu neuen, unbekannten Daten verallgemeinert werden kann. Ohne adäquate Validierung besteht die Gefahr des Overfittings, bei dem das Modell zu sehr an die Trainingsdaten angepasst ist und bei neuen Daten schlecht performt. Methoden zur Modellvalidierung sind:
Teile die Daten in einen Trainings- und einen Testdatensatz. Trainiere das Modell auf dem Trainingsdatensatz und evaluiere die Leistung auf dem Testdatensatz.
Verwende k-fache Kreuzvalidierung, bei der die Daten in k Teile geteilt werden. Trainiere das Modell k-mal, und jedes Mal wird ein anderer Teil als Testdatensatz verwendet, während die verbleibenden Teile zum Training verwendet werden. Die Leistung des Modells wird dann als Durchschnitt der k Läufe bewertet.
Eine extreme Form der Kreuzvalidierung, bei der jedes einzelne Datenpunkt einmal als Testdatensatz verwendet wird, während die übrigen Datenpunkte das Trainingsset bilden. Dies führt zu einer sehr genauen Schätzung der Modellleistung, kann aber bei großen Datensätzen sehr zeitaufwendig sein.
Die Signifikanz von Prädiktoren spielt eine wichtige Rolle in der Modellbildung. Nicht signifikante Prädiktoren sollten identifiziert und entfernt werden, um das Modell zu verbessern. Methoden der Variablenselektion wie Vorwärts- und Rückwärtsselektion helfen, das beste Modell zu finden. Abschließend stellt die Modellvalidierung sicher, dass das Modell robust und verallgemeinerbar ist.
In einem letzten Schritt wird von euch erwartet, die Leistungsfähigkeit der beiden Modelle zu vergleichen und zu bewerten. Erklärt die Vorgehensweise und welche Metriken ihr dabei verwenden würdet.
Lösung:
Um die Leistungsfähigkeit der beiden Modelle, der Linearen Regression und der Logistischen Regression, zu vergleichen und zu bewerten, ist eine systematische Vorgehensweise erforderlich. Folgende Schritte und Metriken sind dabei relevant:
Die Leistung der Modelle wird auf Basis von verschiedenen Metriken bewertet. Hierzu werden sowohl Trainings- als auch Testdatensätze verwendet, um sicherzustellen, dass die Modelle generalisierbar sind und nicht überangepasst (overfitted) sind.
\( R^2 \) misst den Anteil der Varianz in der Zielvariablen, der durch das Modell erklärt wird. Es liegt zwischen 0 und 1, wobei 1 eine perfekte Erklärung der Varianz darstellt.
Hierbei ist \( y_i \) der tatsächliche Wert, \( \hat{y}_i \) der vorhergesagte Wert, und \( \bar{y} \) ist der Durchschnitt der tatsächlichen Werte.
\( RMSE \) misst die durchschnittliche Abweichung der vorhergesagten Werte von den tatsächlichen Werten. Ein niedrigerer RMSE-Wert deutet auf ein besseres Modell hin.
Hierbei ist \( n \) die Anzahl der Beobachtungen.
Die Fläche unter der ROC-Kurve (Receiver Operating Characteristic) misst die Trennschärfe des Modells. Ein AUC-Wert von 0.5 entspricht dem Zufallsniveau, während 1 eine perfekte Klassifikation darstellt.
Die Konfusionsmatrix gibt die Anzahl der true positives (TP), true negatives (TN), false positives (FP) und false negatives (FN) an und hilft dabei, verschiedene Metriken zu berechnen:
Die Annahmen, die den jeweiligen Modellen zugrunde liegen, können die Leistung und den Vergleich der Modelle erheblich beeinflussen:
Die Lineare Regression nimmt eine lineare Beziehung zwischen Prädiktoren und Zielvariable an. Wenn diese Annahme verletzt wird (z.B. wenn die Beziehung nicht linear ist), kann die Modellleistung stark beeinträchtigt sein. In solchen Fällen könnten Transformationen der Prädiktoren oder die Nutzung nichtlinearer Modelle (z.B. Polynomiale oder Splines) sinnvoll sein.
Die Logistische Regression nimmt eine logistische Beziehung zwischen Prädiktoren und log Odds der Zielvariable an. Wenn diese Beziehung nicht zutrifft, kann auch hier die Modellleistung beeinträchtigt sein. Abhilfe können erweiterte Modelle wie die generalisierten additiven Modelle (GAMs) bieten.
Sowohl bei der Linearen als auch bei der Logistischen Regression kann Multikollinearität (hohe Korrelation zwischen Prädiktoren) die Schätzungen der Koeffizienten verzerren und die Interpretation erschweren. Methoden wie Principal Component Analysis (PCA) oder regelmäßige Modelle (z.B. Ridge- oder Lasso-Regression) können hier Abhilfe schaffen.
Die Annahme der konstanten Varianz der Residuen über alle Werte der Prädiktoren hinweg (Homoskedastizität) ist für die Lineare Regression wichtig. Verletzungen dieser Annahme können zu ineffizienten Schätzungen führen. Transformationsmethoden oder gewichtete Regressionen können hier nützlich sein.
Die Bewertung und der Vergleich der Leistungsfähigkeit der Linearen und der Logistischen Regression erfordert die Nutzung geeigneter Metriken, wie R² und RMSE für die Lineare Regression sowie AUC und Konfusionsmatrix für die Logistische Regression. Die Berücksichtigung der jeweiligen Modellannahmen und deren mögliche Verletzung sind entscheidend, um die Modelle korrekt zu interpretieren und zu vergleichen.
Künstliche neuronale Netze werden modelliert, um biologische neuronale Netzwerke nachzuahmen, insbesondere zur Mustererkennung und maschinellem Lernen. Diese Netzwerke bestehen aus Neuronen (Knoten) und Verbindungen (Gewichte). Ein typisches neuronales Netz ist in Schichten organisiert: Eingabeschicht, eine oder mehrere versteckte Schichten und eine Ausgabeschicht. Zur Entscheidungsfindung nutzt jedes Neuron eine Aktivierungsfunktion, wie Sigmoid, ReLU oder Tanh. Das Training dieser Netzwerke erfolgt meist durch Backpropagation und Optimierungsalgorithmen wie Gradient Descent. Die Kostenfunktion, beispielsweise der Mean Squared Error (MSE), misst die Fehlerrate des Modells. Um Overfitting zu vermeiden, werden Regularisierungstechniken wie Dropout angewendet. Unterschiedliche Architekturen, wie Feedforward Netzwerke, Convolutional Neural Networks (CNN) und Recurrent Neural Networks (RNN), erlauben die Anpassung an verschiedene Aufgaben.
Angenommen, Du trainierst ein einfaches Feedforward neuronales Netz mit einer Eingabeschicht, einer versteckten Schicht mit 4 Neuronen und einer Ausgabeschicht mit einem einzigen Neuron. Das Netz soll für eine binäre Klassifikationsaufgabe genutzt werden, wobei die Aktivierungsfunktion in der versteckten Schicht ReLU und die in der Ausgabeschicht Sigmoid ist. Beschreibe den Trainingsprozess dieses neuronalen Netzes, einschließlich der notwendigen Schritte und Berechnungen, die bei der Backpropagation und dem Optimierungsalgorithmus Gradient Descent durchgeführt werden. Gehe dabei auf die Initialisierung der Gewichte, die Berechnung der Vorwärts- und Rückwärtspropagation sowie die Aktualisierung der Gewichte ein.
Lösung:
Um dieses Feedforward neuronale Netz zu trainieren, gehen wir Schritt für Schritt durch den Trainingsprozess, einschließlich der Initialisierung der Gewichte, der Vorwärts- und Rückwärtspropagation und der Aktualisierung der Gewichte mittels Gradient Descent.
X
und die Gewichte der Eingabeschicht zur versteckten Schicht seien W1
:Als Data Scientist für ein Einzelhandelsunternehmen hast du einen Datensatz mit monatlichen Verkaufszahlen der letzten drei Jahre für verschiedene Filialen des Unternehmens. Du sollst eine explorative Datenanalyse (EDA) dieses Datensatzes durchführen und dabei Muster, Beziehungen und potenzielle Ausreißer identifizieren.
Erstelle ein Histogramm der monatlichen Verkaufszahlen aller Filialen, um die Verteilung der Daten zu visualisieren. Diskutiere das Histogramm und identifiziere auffällige Verteilungen oder Ausreißer.
Lösung:
Um ein Histogramm der monatlichen Verkaufszahlen aller Filialen zu erstellen und die Verteilung der Daten zu visualisieren, führe die folgenden Schritte durch:
import pandas as pd import matplotlib.pyplot as plt# Lade den Datensatz df = pd.read_csv('verkaufszahlen.csv')# Aggregiere die monatlichen Verkaufszahlen monatliche_verkaufszahlen = df['Verkaufszahlen']# Erstelle das Histogramm plt.figure(figsize=(10, 6)) plt.hist(monatliche_verkaufszahlen, bins=30, color='blue', edgecolor='black') plt.title('Histogramm der monatlichen Verkaufszahlen aller Filialen') plt.xlabel('Verkaufszahlen') plt.ylabel('Häufigkeit') plt.grid(True) plt.show()
Erstelle einen Scatterplot, der die Beziehung zwischen der Verkaufszahlen und der Anzahl der Kunden im Monat darstellt. Falls vorhanden, identifiziere und diskutiere jegliche Korrelationen zwischen diesen Variablen.
Lösung:
Um einen Scatterplot zu erstellen, der die Beziehung zwischen den Verkaufszahlen und der Anzahl der Kunden im Monat darstellt, folge diesen Schritten:
import pandas as pdimport matplotlib.pyplot as plt# Lade den Datensatzdf = pd.read_csv('verkaufszahlen.csv')# Extrahiere die relevanten Datenverkaufszahlen = df['Verkaufszahlen']anzahl_kunden = df['Anzahl_Kunden']# Erstelle den Scatterplotplt.figure(figsize=(10, 6))plt.scatter(anzahl_kunden, verkaufszahlen, color='blue', edgecolor='black')plt.title('Scatterplot der Verkaufszahlen vs. Anzahl der Kunden')plt.xlabel('Anzahl der Kunden')plt.ylabel('Verkaufszahlen')plt.grid(True)plt.show()
# Berechne die Pearson-Korrelationkorrelation = df['Verkaufszahlen'].corr(df['Anzahl_Kunden'])print(f'Pearson-Korrelationskoeffizient: {korrelation}')
Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.
Kostenloses Konto erstellenDu hast bereits ein Konto? Anmelden