Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

lunes, 3 de octubre de 2016

Regresión Lineal por Mínimos Cuadrados


Mathematica cuenta con comandos que facilitan el ajuste de curvas a diferentes tipos de modelos, por diferentes métodos. Comandos tales como:

Fit, FindFit, LeastSquares, Interpolation, InterpolationPoints, LinearModelFit

entre muchos otros. Pero aquí, realizaré un ejercicio para mostrar el manejo de las listas realizando una regresión lineal por mínimos cuadrados.

(*Regresión Lineal*)
Clear[li, xx, xi, xf, ca, m, b];
numero = Input["número de puntos"];
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];
ca = Minimize[
  Sum[(m li[[j, 1]] + b - li[[j, 2]])^2, {j, 1, numero}], {m, b}]
Show[ListPlot[li], 
 Plot[(m /. ca[[2, 1]]) x + (b /. ca[[2, 2]]), {x, xi, xf}], 
 PlotLabel -> y == (m /. ca[[2, 1]]) x + (b /. ca[[2, 2]])]

Este ejemplo corresponde a cuatro puntos (0,3), (3,5), (5,7) y (8,9)



El resultado nos muestra: la gráfica de los puntos y a recta que mejor los aproxima, junto con su ecuación.

1 comentario:

  1. Estimado Alvaro, creo para el ejemplo, el modelo lineal debería ser: y=13/17x+50/17. Hice correr tu programa en el Mathematica,con lo cuatro puntos dados: (0,3), (3,5), (5,7) y (8,9).

    Atte

    Dante

    ResponderBorrar