regresion polinomial
Publicado por Carlos (7 intervenciones) el 03/11/2020 20:06:37
Buenas tardes,
estoy implementado una regresion polinomial pero se me hace como muy largo el codigo que he echo y la verdad no se me ocurre como simplificarlo.
¿Alguno me puede decir como seria posible simplificar, con menos codigo, el programa?
estoy implementado una regresion polinomial pero se me hace como muy largo el codigo que he echo y la verdad no se me ocurre como simplificarlo.
¿Alguno me puede decir como seria posible simplificar, con menos codigo, el programa?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import numpy as np
import math
x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([5, 5, 13, 24, 36, 65])
xala2 = x**2
xala3 = x**3
xala4 = x**4
xpory = np.multiply(x, y)
xala2pory = (x**2)*y
sumax = np.sum(x)
sumay = np.sum(y)
suma_xala2 = np.sum(xala2)
suma_xala3 = np.sum(xala3)
suma_xala4 = np.sum(xala4)
suma_xpory = np.sum(xpory)
suma_xala2pory = np.sum(xala2pory)
n = len(x)
print(x)
print(y)
print(xala2)
print(xala3)
print(xala4)
print(xpory)
print(xala2pory)
print('')
print("sumatoria x: ",sumax)
print("sumatoria y: ",sumay)
print("sumatoria x^2: ",suma_xala2)
print("sumatoria x^3: ",suma_xala3)
print("sumatoria x^4: ",suma_xala4)
print("sumatoria x*y: ",suma_xpory)
print("sumatoria x^2*y: ",suma_xala2pory)
print('')
print("ecuacion 1 => ",n,"a0 +",sumax,"a1 +",suma_xala2,"a2 =",sumay)
print("ecuacion 2 => ",sumax,"a0 +",suma_xala2,"a1 +",suma_xala3,"a2 =",suma_xpory)
print("ecuacion 3 => ",suma_xala2,"a0 +",suma_xala3,"a1 +",suma_xala4,"a2 =",suma_xala2pory)
a = np.array([[n,sumax,suma_xala2],[sumax,suma_xala2,suma_xala3],[suma_xala2,suma_xala3,suma_xala4]])
b = np.array([sumay,suma_xpory,suma_xala2pory])
z = np.linalg.solve(a,b)
print('')
print("el sistema de ecuaciones lineales resuelto: ")
print(z)
print('')
print("ingrese los valores de a0, a1 y a2: ")
a0 = float(input("valor de a0 = "))
a1 = float(input("valor de a1 = "))
a2 = float(input("valor de a2 = "))
print('')
print("ecuacion: ")
print("y = ",a0,"+",a1,"x +",a2,"x^2")
promediox = np.mean(x)
promedioy = np.mean(y)
st = (y-promedioy)**2
suma_st = np.sum(st)
sr = (y-a0-(a1*x)-(a2*(x**2)))**2
suma_sr = np.sum(sr)
sy = math.sqrt((suma_st/(n-1)))
sydivx = math.sqrt((suma_sr/(n-2)))
print('')
print("promedio de x = ",promediox)
print("promedio de y = ",promedioy)
print('')
print("st:")
print(st)
print("sr:")
print(sr)
print('')
print("sumatoria st = ",suma_st)
print("sumatoria sr = ",suma_sr)
print('')
print("sy = ",sy)
print("sy/x = ",sydivx)
if (sydivx < sy):
print("el modelo es adecuado")
r = math.sqrt(((suma_st-suma_sr)/suma_st))
rfinal = r*100
print('coeficiente de correlacion(r) = ',rfinal)
else:
print('El modelo no es adecuado')
Valora esta pregunta


0