Se desarrollan temas de matemáticas con el uso del software Wolfram Mathematica. . germanalvarado@usta.edu.co
viernes, 7 de octubre de 2016
Regresión Lineal y Cuadrática por Mínimos Cuadrados
Creamos la función regresion que tiene dos parámetros, el primero es el número de puntos que vamos a ingresar y el segundo parámetro es: 1 si es lineal y 2 si es cuadrática.
Clear["Global`*"]
regresion[numero_Integer, tipo_Integer] :=
Module[{xx, xi, xf, t, i, j},
li = Table[{Input[x[i]], Input[y[i]]}, {i, 1, numero, 1}];
xx = Sort@Table[li[[i, 1]], {i, 1, numero, 1}];
xi = First[xx]; xf = Last[xx];
Which[tipo == 1,
ca = Minimize[
Sum[(a li[[j, 1]] + b - li[[j, 2]])^2, {j, 1, numero}], {a, b}];
cp = Plot[(a /. ca[[2, 1]]) t + (b /. ca[[2, 2]]), {t, xi, xf}];,
tipo == 2,
ca = Minimize[
Sum[(a li[[j, 1]]^2 + b li[[j, 1]] + c - li[[j, 2]])^2, {j, 1,
numero}], {a, b, c}];
cp = Plot[(a /. ca[[2, 1]]) t^2 + (b /. ca[[2, 2]]) t + (c /.
ca[[2, 3]]), {t, xi, xf}]];
Grid[{{li}, {ca}, {Show[ListPlot[li, PlotStyle -> Red], cp,
PlotLabel ->
Which[tipo == 1, y == (a /. ca[[2, 1]]) x + (b /. ca[[2, 2]]),
tipo == 2,
y == (a /. ca[[2, 1]]) x^2 + (b /. ca[[2, 2]]) x + (c /.
ca[[2, 3]])]]}}]]
Después de cargar el código anterior, si vamos a ingresar 4 puntos y es lineal, entonces :
regresion[4, 1]
si vamos a ingresar 4 puntos y es cuadrática:
regresion[4, 2]
Vemos que en el caso lineal el mínimo es 61/13 y en el caso cuadrático es 9/13, obviamente mejora el ajuste de la curva a los puntos en el caso cuadrático.
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario