Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Python
Linear regression algorithm applied in
Python
Universidad de El Salvador, El Salvador
Aquino Alas, Doris Elizabeth aa11002@ues.edu.sv
Gómez Evora, Francisco Everardo ge11002@ues.edu.sv
González Serrano, Nelson Arnoldo gs02000@ues.edu.sv
Martínez Guerrero, Claudia Patricia mg12012@ues.edu.sv
Munto Uceda, Alex Alfonso mu13002@ues.edu.sv
Resumen — La regresión lineal es uno de los modelos matemáticos más utilizados para el análisis de datos en diferentes
ramas de la ciencia, sobre todo en la estadística, el funcionamiento de la regresión se puede realizar mediante un
algoritmo informático para su automatización en el determinado ámbito deseado. Mediante la implementación de dicho
algoritmo pueden predecirse valores futuros según vaya ingresándose datos. Sobre la regresión lineal se muestran
antecedentes desde su concepción, un marco teórico con conceptos relacionados con la regresión y su descripción
matemática, el método de mínimos cuadrados, además de explicar un algoritmo para su implementación en el lenguaje
de programación Python para un censo de población en El Salvador.
Palabras clave: regresión lineal, regresión lineal múltiple, estadística, algoritmo, python.
Abstract — Linear regression is one of the most used mathematical models for data analysis in different branches
of science, especially in statistics, the operation of regression can be carried out by means of a computer
algorithm for automation in the specific field desired. Through the implementation of said algorithm, future
values can be predicted as data is entered. Background on linear regression is shown from its conception, a
theoretical framework with concepts related to regression and its mathematical description, the method of least
squares, in addition to explaining an algorithm for its implementation in the Python programming language for
a population census. in El Salvador.
I. INTRODUCCIÓN
La presente investigación trata del tema Algoritmo de Regresión Lineal y su aplicación en el lenguaje
Python, el cual ha sido desarrollado por el grupo doce de la cátedra de Bases de Datos, interesados en su
implementación mediante el software, y su utilidad para la sociedad salvadoreña.
La Regresión lineal podemos definirla como un modelo matemático que se utiliza para predecir
mediante el análisis numérico de los grupos de datos, los posibles futuros valores que se presentarán en
base a un tiempo futuro determinado o en base a las condiciones específicas, donde los atributos de sus
variables siempre son numéricos. Es aplicada a un conjunto de datos interrelacionados entre sí para poder
obtener una predicción o tendencia de su comportamiento.
La característica principal del algoritmo de regresión lineal es ajustar a la ecuación de la recta los
valores de la variable independiente X a la variable dependiente Y. Su propósito es dibujar una línea que
se acerque más a los datos proporcionados encontrando la pendiente y el punto de intersección que definen
la línea y minimizan los errores de regresión.
Para analizar esta temática, es necesario mencionar las principales razones por la cuales se considera
importante conocer la metodología y funcionamiento del algoritmo de regresión lineal. Con el análisis de
regresión, nos permite modelar la relación entre las variables que hemos seleccionado, así como predecir
valores basándose en este modelo. Además, posee presunciones como la linealidad de la relación, la
normalidad, la aleatoriedad de la muestra y homogeneidad de las varianzas. Permite identificar las posibles
relaciones entre los cambios observados en dos conjuntos de variables, además de proporcionar visualmente
un gráfico que nos permite de forma sencilla e intuitiva estudiar la tendencia, si es lineal o no, la intensidad
y el sentido (positivo o negativo) de la pendiente.
Nuestra investigación se realizó primeramente por el Interés Académico, como estudiantes de la Carrera
de Ingeniería de Sistemas Informáticos, la necesidad de poder comprender y aplicar los modelos de
regresión lineal a las tendencias de bases de datos es vital para poder predecir o exponer el comportamiento
de los registros que permitan comprender el por qué se manifiestan y cómo poder hacer ajustes para
interpretarlos de manera correcta. En el ámbito profesional es importante conocer los distintos algoritmos
de modelamiento de datos y poder en base a ellos simular las tendencias para tomar decisiones e interpretar
los sucesos actuales.
Con respecto a la metodología utilizada, bajo la que se realizó nuestra investigación se fundamentan en
aplicación efectiva de una investigación descriptiva de artículos científicos como parte de antecedentes
existentes de la temática, blogs informativos referentes al modelo de regresión lineal, sitios webs de
prestigio, videos ilustrativos y tutoriales que nos proporcionaron una amplia gama de información, cabe
mencionar que la información, posteriormente a la recolección hemos realizado una filtración y análisis
exhaustivo, cabe recalcar que se ha elegido las fuentes más confiables y actualizadas para que sea objetiva
y específica con respecto al tema que trataremos.
Proporcionaremos además el flujograma del algoritmo y una aplicación al lenguaje de programación
Python, que en base a una serie de datos proporcionada genere un gráfico y trace la tendencia ajustada,
determinando la formula del modelo matemático asociado para poder predecir los siguientes valores en
base al tiempo o la variable dependiente asociada.
La distribución de los diversos temas que conforman la estructura del informe es:
En el apartado A, se procede a analizar los principales antecedentes relacionados al Algoritmo de
Regresión Lineal, los datos más relevantes sobre investigaciones previas o aplicaciones hechas a lo largo
de los últimos años como parte de la identificación de todas aquellas necesidades, vacíos en las respectivas
investigaciones y que nos permitirán sobre todo identificar los principales puntos bajo los cuales debemos
de abordar mucho más para esclarecer, responder y comprender las interrogantes que surgen o rodean esta
temática como tal.
En el apartado B, se procede a sintetizar una serie de conceptos relevantes que rodean la temática de la
Regresión Lineal en un Marco de Referencia que constituyan una Base Teórica, conceptos y definiciones
obtenidas mediante la investigación descriptiva de artículos científicos y sitios web de confiabilidad, el
apartado permite al lector comprender sobre aspectos preliminares que permite introducirse ala la temática
a desarrollar así como también plantear de manera concisa las ecuaciones de los algoritmos utilizados en
la Regresión Lineal y sobre todo el correspondiente informe como tal.
En el Apartado C, se procede a dar a conocer de manera concisa sobre el modelo computacional del
algoritmo de Regresión lineal proporcionando los diagramas de flujo utilizados y explicando el proceso a
seguir para el desarrollo y ejecución del programa en lenguaje Python, así como el entorno de pruebas bajo
el cual se ha realizado y los requerimientos para ejecutarlo.
En el Apartado D, se procede a la implementación del algoritmo en lenguaje Python utilizado para el tema
de Censo de población de El Salvador, así como las predicciones de los años siguientes.
Objetivos:
a) Objetivo General
Realizar una investigación detallada acerca del Algoritmo de Regresión lineal aplicados a las
Bases de Datos, mediante una investigación descriptiva basada en artículos científicos, blogs
de internet e investigaciones previas, para que los lectores lo comprendan como parte del
proceso de enseñanza y aprendizaje requeridos para el ejercicio profesional, así como la
implementación en un caso real.
b) Objetivos Específicos
• Examinar fuentes actualizadas de información relacionadas con el tema de Regresión lineal,
para la creación de un aplicativo que ejemplifique mediante un desarrollo en lenguaje Python,
haciendo uso de su ecuación matemática y gráfica respectiva.
• Codificar un programa informático que permita ser aplicado a un caso especial de Correlación
de Datos.
• Crear un Diagrama de Flujo que permita el análisis del algoritmo de Regresión lineal para la
comprensión de su funcionamiento y su respectiva implementación en un programa
informático.
II. RESULTADOS
A. Antecedentes
La primera forma de regresión lineal documentada fue el método de los mínimos cuadrados que fue
publicada por Legendre en 1805, Gauss publicó un trabajo en donde se desarrollaba de manera más
profunda el método de mínimos cuadrados [1], y en dónde se incluía una versión del teorema de Gauss-
Márkov.
El término regresión se utilizó por primera vez en el estudio de variables antropométricas: al comparar
la estatura de padres e hijos, donde resultó que los hijos cuyos padres tenían una estatura muy superior al
valor medio, tendían a reducir su diferencia respecto a la estatura media; es decir, “regresaban” al promedio
[2]. La constatación empírica de esta propiedad se vio reforzada más tarde con la justificación teórica de
ese fenómeno.
El término lineal se emplea para distinguirlo del resto de técnicas de regresión, que emplean modelos
basados en cualquier clase de función matemática. Los modelos lineales son una explicación simplificada
de la realidad, mucho más ágiles y con un soporte teórico mucho más extenso por parte de la matemática y
la estadística.
Como se ha dicho, se puede usar el término lineal para distinguir modelos basados en cualquier clase
de aplicación. Este método es valioso en escenarios clínicos o económicos, como cuando deseamos evaluar
variables que, por su costo o dificultad para su obtención, requieren alguna aproximación clínica previa,
como la estimación de la densidad mineral ósea a partir de la medición de peso, talla y la ultrasonografía
ósea.
En este punto, por más que el lector juró “no volver a tratar con las matemáticas y alejarse lo más posible
de ellas”, tal vez comienza a sospechar que la relación es útil, ya que de manera natural aplica
modelos matemáticos simples y complejos, en un nivel de menor conciencia, pero con un nivel
equiparable de utilidad.
Los métodos estadísticos, como la regresión lineal, permite predecir o disminuir esa incertidumbre. El
análisis de regresión se define como “el estudio de la dependencia” o de cómo una respuesta o variable
depende de uno o más predictores o variables que independientes. Al considerar este modelo en un proyecto
de investigación o análisis de la información es importante tomar en cuenta dos aspectos básicos:
Que la dependencia de la respuesta sobre los predictores se lleva a cabo mediante el promedio, por lo
tanto, se requiere que esta variable tenga una distribución normal.
Que el promedio de la variable depende dadas las variables independientes es una función lineal, es
decir, la variable dependiente se incrementa o disminuye conforme se incrementa o disminuyen los valores
de la variables independientes o predictoras. Es decir, debe existir una relación en la que el incremento o
disminución de una variable sea proporcional en cada punto.
B. Base Teórica y conceptos
La regresión lineal es un método estadístico que trata de modelar la relación entre una variable continua
y una o más variables discretas, para esto se apoya en el ajuste de una ecuación lineal, las utilidades
principales de estas son la predicción de fenómenos y el análisis de la dependencia entre los valores de una
serie de datos. La aplicación de estas técnicas va desde análisis científico, investigación social, he incluso
el comportamiento humano y muchas otras áreas de estudio.
Algoritmo [3]: Es un procedimiento específico para resolver un problema computacional bien definido.
El desarrollo y análisis de algoritmos es fundamental para todos los aspectos de la informática: inteligencia
artificial, bases de datos, gráficos, redes, sistemas operativos, seguridad, etc.
Variable [4]: Se utiliza para almacenar información para ser referenciada y manipulada en un programa
de computadora. También proporcionan una forma de etiquetar los datos con un nombre descriptivo, de
modo que el lector y nosotros mismos podamos entender nuestros programas con mayor claridad. Es útil
pensar en las variables como contenedores que contienen información. Su único propósito es etiquetar y
almacenar datos en la memoria. Estos datos se pueden utilizar a lo largo de su programa.
A la variable modelada normalmente se le conoce como variable dependiente o variable respuesta,
mientras que a las variables independientes se les conoce como regresores, predictores o features.
Existen dos tipos de regresión lineal clasificados de acuerdo con la cantidad de variables que se desean
analizar, la regresión lineal simple utilizada con dos variables, y la regresión múltiple cuando se espera que
la variable dependiente sea afectada por múltiples variables.
- Regresión lineal simple
Se utiliza cuando se necesita analizar los cambios que una variable no aleatoria provoca en una variable
aleatoria y en caso de existir una relación funcional entre ambas, esta relación se espera que sea descrita
por una expresión lineal que expresada gráficamente sería una línea recta.
Modelo de regresión lineal simple:
Y = B0 + B1*X + ε
Donde B0 Y B1 son parámetros del modelo y épsilon una variable aleatoria que representa el error.
Fig. 1 Ecuación del Modelo de Regresión Lineal Fig. 2 Representación del error en la gráfica.
La regresión lineal simple busca la línea más cercana a los datos al encontrar la pendiente y la
intercepción de esta, de manera que se ajuste mejor al conjunto de datos usado. A grandes rasgos los pasos
necesarios para ejecutar este método son:
1) Calcular los estadísticos que nos permiten considerar la bondad de ajuste de los datos con el
modelo de regresión lineal simple.
2) Realizado el paso 1 y considerando de que los valores indican que estamos ante una relación lineal
o muy cercana a una relación lineal, entonces procedemos a calcular los valores B0 y B1 con los
cuales podremos realizar predicciones.
3) Exponer la secuencia de pasos que nos permiten determinar los pasos anteriores.
5- Análisis de varianza.
La tabla de análisis de varianza nos permite valorar hasta qué punto es adecuado este modelo para
analizar los datos. La tabla de análisis de varianza se basa en que la variabilidad total puede descomponerse
en la variabilidad explicada por la regresión y la variabilidad residual. La tabla de ANOVA proporciona el
estadístico F a partir del cual podremos comparar la hipótesis de que R2 es igual a 0 (las variables no tienen
correlación). Si el valor de F es menor que el nivel de significación (normalmente 0.05) entonces
rechazamos la hipótesis planteada.
6- Análisis de residuales.
Los residuos "e", son la estimación de los verdaderos errores. En regresión lineal debemos notar una
distribución normal, es decir los residuos observados y los esperados bajo la hipótesis de distribución
normal deben ser parecidos, los residuos deben ser independientes. El análisis de los residuos permite
profundizar en la relación entra las variables y en la bondad de ajuste de la regresión obtenida.
- Regresión lineal múltiple
También llamada regresión múltiple, Es utilizada cuando se posee dos o más variables independientes
influyen sobre una variable dependiente siendo entonces y = f(x,w,z). Es posible convertir un caso de
regresión lineal simple en una múltiple si se cuenta con una tercera variable para analizar [5].
Para un modelo de dos variables el resultado grafico sería un plano, la forma general de la ecuación que
describe este tipo de relaciones es la siguiente:
Es importante destacar que agregar más variables independientes no significa que la regresión sea mejor
u ofrece mejores predicciones, agregar más variables independientes puede empeorar los resultados, las
variables independientes pueden estar relacionadas entre sí a esto se le conoce como multicolinealidad,
debe buscarse que las variables incluidas en las modelos no tengan relaciones entre ellas.
Los Residuales
Los residuales se utilizan para validar que el modelo calculado por mínimos cuadrados es válido o no,
para ello tomamos los valores reales de la variable dependiente ‘y’ y les restamos sus valores calculados
con el modelo así obteniendo un conjunto de valores residuales.
Fig. 7 Cálculo del Error Residual.
A continuación, presentamos los flujogramas, de elaboración propia, que desarrollamos para esquematizar
el comportamiento del algoritmo de Relación lineal aplicado en lenguaje Python.
Aplicación
Con el propósito de aplicar y entender este método, en relación al tema antes mencionado, se recolectó
de los datos provistos por los censos realizados por la DIGESTYC, su informe de proyecciones y
estimaciones municipales 2009, y los datos proporcionados por la web datosmacro.com, que recoge las
poblaciones de todos los países alrededor del mundo. Considerando los años entre 1997 – 2018.
Con los datos mostrados en las tablas, se va a establecer una función o ecuación matemática pronostico
la cual se va ajustar a los datos indicados y va a describir la relación entre las variables por medio de una
regresión de cada una de las tablas. Existen 3 puntos claves al momento de realizar el análisis de regresión
estos son:
• Decidir qué clase de curva describen los puntos en una gráfica.
• De acuerdo a la gráfica determinar el tipo de ecuación que mejor se ajuste a los datos.
• Encontrar la ecuación pronóstica, y verificar datos de proximidad.
Datos Poblacionales El Salvador.
Total De Población Exp. En
Años Hombres Mujeres
Población Millones
1997 2781434 2964850 5746284 5.7463
1998 2802053 2995712 5797765 5.7978
1999 2820224 3024622 5844846 5.8448
2000 2836195 3051741 5887936 5.8879
2001 2849967 3077039 5927006 5.9270
2002 2861595 3100541 5962136 5.9621
2003 2871538 3122539 5994077 5.9941
2004 2880362 3143435 6023797 6.0238
2005 2888551 3163572 6052123 6.0521
2006 2896305 3177554 6073859 6.0739
2007 2903746 3194968 6098714 6.0987
2008 2911100 3213605 6124705 6.1247
2009 2918621 3233937 6152558 6.1526
2010 2926478 3256524 6183002 6.1830
2011 2934825 3281318 6216143 6.2161
2012 2943739 3307756 6251495 6.2515
2013 2953267 3335632 6288899 6.2889
2014 2963439 3364757 6328196 6.3282
2015 2974230 3394994 6369224 6.3692
2016 2985693 3426335 6412028 6.4120
2017 2997809 3458906 6456715 6.4567
2018 3010430 3492788 6503218 6.5032
Los valores de los parámetros 𝜶 𝒚 𝜷 ecuación (1) no se conocen y deben de estimarse a partir de los datos
de la muestra obtenida, estos coeficientes se calculan con valores conocidos y se los conoce como
regresores. Para el valor de éstos se utiliza el método fundamentado en teorema los mínimos cuadrados,
este método emplea los datos de la muestra (población) para determinar características de la recta que van
hacer mínima la suma de los cuadrados de las desviaciones.
𝑚𝑖𝑛 ∑(𝑦𝑖 − ŷ)2 (2)
En dónde;
𝒚𝒊 = Valor observado de la variable dependiente para la i-ésima.
𝒚̂ = Ecuación pronostico determinada de tablas de datos
Coeficiente de correlación.
El coeficiente de correlación es una medida que nos va a indicar el grado de asociación de los datos de las
variables (x, y), esta medida nos va a indicar el tipo de relación o dependencia, con este coeficiente también
podemos determinar si el método de regresión que usamos es el correcto de acuerdo a la escala ya dada
Figura 6. Si la correlación esta entre (-0,5; 0,5) esto nos indica que existe una correlación, en la cual no es
recomendable aplicar regresión lineal esto quiere decir que la ecuación pronostico no se ajusta de manera
adecuada a los datos dispersos en el diagrama de dispersión.
Coeficiente de determinación.
El coeficiente de determinación se lo simboliza con la letra r2 y no es más que el coeficiente de correlación
al cuadrado, lo que el coeficiente de determinación nos indica en la regresión lineal, es probar cierto tipo
de hipótesis, este coeficiente ayudara a determinar la calidad del modelo (ecuación pronóstico), para
replicar resultados, y la proporción de variación de los resultados.
Ejecución del código
Ejecución para el año 2005
III. CONCLUSIONES
Se proporcionaron definiciones, conceptos e información relacionada con el tema de regresión lineal y
demás conocimientos pertenecientes además de información referente a lo que es un algoritmo informático,
procesos principales, y algunos métodos de regresión.
Se concluye que la regresión lineal es una de las herramientas más usadas en el ámbito de la estadística
por su gran uso para la predicción de valores futuros, más si es acompañado de software informático que
sea de apoyo para la automatización de los procesos y su diagramación, por ejemplo, con el lenguaje de
programación Python.
Por lo anterior mencionado se recomienda el uso de la regresión para la obtención de buenos resultados
estadísticos, y se recomienda adentrar más en el tema y sobre su implementación informática.
IV. AGRADECIMIENTOS
Agradecemos primeramente a la cátedra de la asignatura de Bases de Datos impartida por el Msc. Elmer
Carballo y el Ing. Arnoldo Rivas por guiarnos para la investigación del actual tema.
V. REFERENCIAS BIBLIOGRÁFICAS
[1] Del juicio clínico al modelo de regresión lineal [En línea]. Available:
http://revistamedica.imss.gob.mx/es/system/files/recurso_diverso/rm-recop-caic-05-rm2013-6-12-xviii.pdf
[2] Gauss, C. F. (2019). Theoria Combinationis Observationum Erroribus Minimis Obnoxiae: Pars Prior. Forgotten Books.
[3] Britannica.com. Algorithms and complexity. Recuperado el 2 de Marzo de 2022, https://www.britannica.com/science/computer-
science/Algorithms-and-complexity
[4] Launchschool.com, Variables, recuperado el 6 de marzo de 2022, en https://launchschool.com/books/ruby/read/variables
[5] "Linear regression". curvefit. [En línea].
Available: https://web.archive.org/web/20080222195200/http:/www.curvefit.com/linear_regression.htm
[6] La Gaceta de la RSME, Vol. 22 (2019), Núm. 2, págs. 351-364
[7] Rodrigo, J. A. (2016, agosto). Introducción a la Regresión Lineal Múltiple. cienciadedatos. Recuperado 6 de marzo de 2022, de
https://www.cienciadedatos.net/documentos/26_ejemplo_regresion_lineal_simple_multiple_polinomial_interaccion_entre_pre
dictores.html#Regresión_múltiple
[8] "Introducción a la regresión lineal múltiple". Ciencia de datos, teoría y ejemplos prácticos en R y Python.
https://www.cienciadedatos.net/documentos/25_regresion_lineal_multiple#Extensión_del_modelo_lineal (accedido el 12 de
marzo de 2022).