fork download
  1. import numpy as np
  2. import pandas as pd
  3. from sklearn.linear_model import LinearRegression
  4. from sklearn.metrics import r2_score
  5.  
  6. # Datos
  7. data = {
  8. 'Tiempo_entrega': [9.95, 24.45, 31.75, 35.00, 25.02, 16.8, 14.38, 9.60, 24.35, 27.50,
  9. 17.08, 37.00, 41.95, 11.66, 21.65, 17.89, 69.00, 10.30, 34.93, 46.59,
  10. 44.88, 54.12, 56.63, 22.13, 21.15],
  11. 'Numero_latas': [2, 8, 11, 10, 8, 4, 2, 2, 9, 8, 4, 11, 12, 2, 4, 4, 20, 1, 10, 15,
  12. 15, 16, 17, 6, 5],
  13. 'Distancias_pies': [50, 110, 120, 550, 295, 200, 375, 52, 100, 300, 412, 400, 500,
  14. 360, 205, 400, 600, 585, 540, 250, 290, 510, 590, 100, 400]
  15. }
  16.  
  17. # Convertir a DataFrame
  18. df = pd.DataFrame(data)
  19.  
  20. # Variables predictoras (X) y variable de respuesta (y)
  21. X = df[['Numero_latas', 'Distancias_pies']]
  22. y = df['Tiempo_entrega']
  23.  
  24. # Modelo de regresión lineal
  25. regression_model = LinearRegression()
  26.  
  27. # Ajustar el modelo
  28. regression_model.fit(X, y)
  29.  
  30. # Coeficientes de correlación y determinación múltiple
  31. R = np.corrcoef(df.values.T)[0,1]
  32. R_squared = r2_score(y, regression_model.predict(X))
  33.  
  34. # Error estándar de la estimación múltiple
  35. n = len(df)
  36. p = 2 # número de variables predictoras
  37. y_pred = regression_model.predict(X)
  38. residuals = y - y_pred
  39. MSE = np.sum(residuals**2) / (n - p - 1)
  40. SEM = np.sqrt(MSE)
  41.  
  42. # Coeficientes de la regresión
  43. coeficientes = regression_model.coef_
  44. intercepto = regression_model.intercept_
  45.  
  46. # Mostrar resultados
  47. print("Coeficiente de correlación (R):", R)
  48. print("Coeficiente de determinación (R^2):", R_squared)
  49. print("Error estándar de la estimación múltiple (SEM):", SEM)
  50. print("Coeficientes de la regresión:")
  51. print("Intercepto:", intercepto)
  52. print("Coeficientes de las variables predictoras:", coeficientes)
  53.  
  54.  
Success #stdin #stdout 0.59s 96188KB
stdin
Standard input is empty
stdout
('Coeficiente de correlaci\xc3\xb3n (R):', 0.3784126884323447)
('Coeficiente de determinaci\xc3\xb3n (R^2):', 0.9811633399552457)
('Error est\xc3\xa1ndar de la estimaci\xc3\xb3n m\xc3\xbaltiple (SEM):', 2.286752213871933)
Coeficientes de la regresión:
('Intercepto:', 2.256794765863056)
('Coeficientes de las variables predictoras:', array([2.74454513, 0.01253482]))