Lineare Regression Rechner
Berechnet lineare Regression aus Datenpunkten: Steigung, Achsenabschnitt, R² und Vorhersagen.
| # | X | Y | |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
Über dieses Tool
Lineare Regression ist eine grundlegende statistische Methode, die die Beziehung zwischen zwei Variablen modelliert, indem eine gerade Linie durch eine Reihe von Datenpunkten angepasst wird. Dieser Rechner hilft Ihnen, die beste Anpassungslinie zu finden, die Steigung und den Schnittpunkt zu berechnen und gemessen mit dem R²-Wert zu beurteilen, wie gut Ihre Daten einem linearen Muster folgen. Egal ob Sie Trends in Verkaufsdaten analysieren, experimentelle Ergebnisse vergleichen oder Korrelationen in wissenschaftlichen Studien untersuchen – das Verständnis linearer Beziehungen ist für datengesteuerte Entscheidungen unverzichtbar.
Um dieses Tool zu verwenden, geben Sie einfach Ihre Datenpunkte als X- und Y-Wertepaare ein und klicken dann auf Berechnen. Sie erhalten sofort die Steigung (die Änderungsrate), den Schnittpunkt (wo die Linie die Y-Achse kreuzt), den R²-Koeffizienten (ein Maß für die Anpassungsgüte von 0 bis 1, wobei 1 eine perfekte Anpassung bedeutet) und Vorhersagegleichungen. Das Tool ermöglicht es Ihnen auch, einen neuen X-Wert einzugeben, um den entsprechenden Y-Wert basierend auf dem angepassten Modell vorherzusagen.
Dieser Rechner ist ideal für Studenten, die Statistik lernen, Forscher, die Hypothesen validieren, und Fachleute, die Trends in Geschäftskennzahlen identifizieren. Beachten Sie, dass die lineare Regression davon ausgeht, dass Ihre Beziehung ungefähr linear ist; wenn Ihre Daten ein gekrümmtes Muster oder eine breite Streuung aufweisen, ist das Modell möglicherweise nicht zuverlässig. Für komplexere Beziehungen erwägen Sie Polynom- oder andere nichtlineare Regressionen.
Häufig gestellte Fragen
Code-Implementierung
def linear_regression(x: list, y: list) -> dict:
n = len(x)
if n < 2:
raise ValueError("Need at least 2 data points")
sum_x = sum(x)
sum_y = sum(y)
sum_xy = sum(xi * yi for xi, yi in zip(x, y))
sum_x2 = sum(xi ** 2 for xi in x)
mean_x = sum_x / n
mean_y = sum_y / n
slope = (n * sum_xy - sum_x * sum_y) / (n * sum_x2 - sum_x ** 2)
intercept = mean_y - slope * mean_x
# R-squared
ss_res = sum((yi - (slope * xi + intercept)) ** 2 for xi, yi in zip(x, y))
ss_tot = sum((yi - mean_y) ** 2 for yi in y)
r2 = 1 - ss_res / ss_tot if ss_tot != 0 else 1.0
return {"slope": slope, "intercept": intercept, "r_squared": r2,
"pearson_r": r2 ** 0.5 if r2 >= 0 else 0}
x = [1, 2, 3, 4, 5]
y = [2.1, 3.9, 6.2, 7.8, 10.1]
result = linear_regression(x, y)
print(f"y = {result['slope']:.4f}x + {result['intercept']:.4f}")
print(f"R² = {result['r_squared']:.4f}")
# Predict
x_new = 6
y_pred = result['slope'] * x_new + result['intercept']
print(f"Prediction at x=6: {y_pred:.2f}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.