Sie sind auf Seite 1von 6

M ÉTODOS N UMÉRICOS

Reporte N° 3

Paulina Jimenéz Erazo

13 de noviembre de 2017

1. Resumen

Mediante el presente trabajo se busca generar un programa donde, dados n puntos de


coordenadas ( xi , yi ), genere un modelo de regresión lineal que los satisfaga, con el fin de
poder predecir un valor determinado de la variable dependiente, dado un valor cualquiera
de la variable independiente; para su realización es necesario el previo conocimiento de
conceptos estadísticos básicos y la aplicación del criterio de minimización más adecuado
es decir el método de los mínimos cuadrados. Al final, se ejecuta un ejemplo a través del
programa obtenido, donde es posible observar el modelo de regresión, con sus constantes
a0 y a1 halladas en el proceso.

2. Introducción

La teoría de la regresión trata de explicar el comportamiento de una variable, denomi-


nada dependiente, en función de otra u otras denominadas independientes. En este reporte
se tratará de la regresión lineal solamente.

La determinación de una recta que mejor se ajusta o representa a un conjunto de núme-


ros, se logra en base al principio de los mínimos cuadrados, el mismo que establece, que de
todas las rectas o curvas que representan a una nube de puntos, la que tiene la suma mínima
de llos cuadrados de las distancias de cada punto a tal recta o curva, es la de mejor ajuste,
se utlizan los cuadrados de las distancias porque de esta forma, no importa si el punto está
por arriba o por abajo de la recta o curva de mejor ajuste.

Para el conjunto de puntos que define un comportamiento lineal, se espera que la recta de
mejor ajuste cumpla con la condición de que esta, pase por el centro de gravedad ( x̄, ȳ) que
no son mas que las medias aritméticas de todos los datos. Es por ello que dado un conjunto
de parejas de datos representados por las variables dependiente y e independiente x, que
definen una relación lineal, la ecuación general de la recta que las relaciona y representa es

1
un polinomio de grado uno, con ordenada al origen a0 y pendiente a1 , es decir:

y = a0 + a1 .x

Donde luego de una serie de operaciones de cálculo se obtiene que el valor de, a0 se puede
hallar a través de:
∑n x2 ∑n 1 yi − ∑in=1 xi ∑in=1 xi .yi
a 0 = i =1 i i =
n. ∑in=1 xi2 − (∑in=1 xi )2
Y así mismo el valor de a1 mediante:

n. ∑in=1 yi .xi − ∑in=1 xi ∑in=1 yi


a1 =
n. ∑in=1 xi2 − (∑in=1 xi )2

3. Desarrollo

A través del software Code :: blocks además del conocimiento teórico adquirido anterior-
mente es posible desarrollar un código que satisface el objetivo planteado:

Pseudocódigo 1.

# include <iostream >

using namespace s t d ;

i n t main ( )
{

int n ;
cout << " I n g r e s e e l v a l o r de n coordenadas : " <<endl ;
c i n >> n ;

double coordenadas_x [ n ] ;
double coordenadas_y [ n ] ;

f o r ( i n t i = 1 ; i <=n ; i ++)
{
cout << " x " << i << " = " ;
c i n >> coordenadas_x [ i ] ;
cout << " y " << i << " = " ;
c i n >> coordenadas_y [ i ] ;
}

/ / s u m a t o r i a d e x i ^2
double coordenadas_x2 [ n ] ;
f o r ( i n t i = 1 ; i <=n ; i ++)
{
coordenadas_x2 [ i ]= coordenadas_x [ i ] * coordenadas_x [ i ] ;
}

double sumatoria_x2 = 0 ;
f o r ( i n t i = 1 ; i <=n ; i ++)

2
{
sumatoria_x2=sumatoria_x2+coordenadas_x2 [ i ] ;
}

/ / sumatoria de y i
double sumatoria_y = 0 ;
f o r ( i n t i = 1 ; i <=n ; i ++)
{
sumatoria_y=sumatoria_y+coordenadas_y [ i ] ;
}

/ / sumatoria de x i
double sumatoria_x = 0 ;
f o r ( i n t i = 1 ; i <=n ; i ++)
{
sumatoria_x=sumatoria_x+coordenadas_x [ i ] ;
}

/ / sumatoria del producto xiyi


double coordenadas_xy [ n ] ;
f o r ( i n t i = 1 ; i <=n ; i ++)
{
coordenadas_xy [ i ]= coordenadas_x [ i ] * coordenadas_y [ i ] ;
}

double sumatoria_xy = 0 ;
f o r ( i n t i = 1 ; i <=n ; i ++)
{
sumatoria_xy=sumatoria_xy+coordenadas_xy [ i ] ;
}

double a0 , a1 ;

a0 = ( ( sumatoria_x2 * sumatoria_y ) −( sumatoria_x * sumatoria_xy ) ) / ( ( n * sumatoria_x2 )


−( sumatoria_x * sumatoria_x ) ) ;
a1 = ( ( n * sumatoria_xy ) −( sumatoria_x * sumatoria_y ) ) / ( ( n * sumatoria_x2 ) −(
sumatoria_x * sumatoria_x ) ) ;

cout << " El modelo de r e g r e s i o n l i n e a l para l o s n = " <<n<< " puntos dados es : "
<<endl ;
cout << " y = " <<a0<< " + " <<a1<< " x " <<endl ;

return 0 ;
}

En este programa fue necesario el uso de arreglos y la función f or. El código está dado
para que el usuario ingrese el número n de puntos de los cuales desea el modelo de regresión
lineal, posteriormente se le pedirá que ingrese las coordenadas ( xi , yi ) de cada punto, es por
ello que como primer paso se declara la variable n tipo int, esta se usará como tamaño de
los arreglos siendo una variable entera por la misma razón. Luego se declaran dos arreglos,
uno para las coordenadas x y el otro para las coordenada y, estos son tipo double para que el

3
usuario tenga la libertad de ingresar coordenadas tanto enteras como decimales. El primer
lazo f or expuesto en el código describe este procedimiento es decir el ingreso de datos.
Como el interés vital del programa es encontrar los valores de las constantes a0 y a1 del
modelo, simplemente mediante lazos f or se hallan los elementos necesarios para después
reemplazarlos en las fórmulas anteriormente citadas. Los elementos que se obtendrán son:
n n n n
∑ xi2 , ∑ yi , ∑ xi , ∑ xi yi
i =1 i =1 i =1 i =1

Finalmente se declaran dos variables tipo double, estas son las constantes a0 y a1 presen-
tes en el modelo. Se definen sus ecuaciones, se reemplazan valores y se imprime el resultado
de acuerdo a los datos de entrada.

4. Resultados

Para evidenciar la veracidad del modelo generado por el pseudocódigo anterior, se in-
gresará el siguiente ejemplo:

Figura 1: Ejemplo que se ingresará en el código para evidenciar resultados.

Se observan 5 coordenadas en términos de Θ y T, que corresponden a la variable x y la


variable y, respectivamente. Se ingresan dichos puntos y el programa imprime el resultado,
así:

4
Figura 2: El modelo de regresión lineal que imprime el programa según los puntos dados
del ejemplo.

EL programa imprime el modelo de regresión lineal buscado, para n puntos, en este caso 5.
Cuyo resultado mostrado es:

y = 0, 117665 + 0,0960914.x

En términos del ejemplo de la figura 1, el resultado es el modelo de regresión:

T = 0, 117665 + 0,0960914.Θ

Donde T es el torque requerido para girar un resorte de torsión, un ángulo Θ.

5. Conclusiones
La regresión es diferente a la interpolación, debido a que la segunda crea una fun-
ción que pasa exactamente por los puntos dados, mientras que la regresión define una
función que tiene un mejor ajuste para un determinado set de puntos.

Existen diferentes tipos de regresiones que se utilizan según las condiciones y peticio-
nes del problema a resolver, como: lineales, exponeciales, logarítmicas y demás. Este
reporte se basó solo en las regresiones lineales.

Mediante un modelo de regresión lineal obtenido de una nube de puntos, es posible


encontrar el valor de la variable dependiente y correspondiente a la variable indepen-
diente x.

Los valores de a0 y a1 llamados coeficientes de regresión son los parámetros descono-


cidos del modelo.

El método de mínimos cuadrados determina que los valores de a0 y a1 son los que
minimizan la suma del cuadrado de las diferencias. Cualquier otro valor para a0 y a1
diferente a quellos que se hayan determinado por el método, da como resultado una
mayor suma del cuadrado de las diferencias y por tanto un modelo menos efectivo.

5
El uso de software para la obtención de modelos matemáticos como la regresión lineal
es imprescindible si se busca eficiencia y optimización de tiempo.

6. Recomendaciones
El conocimiento previo de los conceptos básicos estadísticos tal como: la media, la
desviación estándar, el rango, etc.; es importante para el entedimiento de modelos de
regresión lineal y por ende la obtención de un código que lo describa.

Se debe investigar el proceso de recolección de datos, es decir de cada uno de los


puntos cuyas coordenadas se utilizarán en la obtención del modelo.

Para una regresión, es necesario tener conciencia del tipo de datos usados, puesto que
se puede tener una mala identificación de la causa.

Para una regresión, es importante limitar el rango de la aplicación de la ecuación.

7. Bibliografía
CAMPOS, D.F., (2003), Introducción a los métodos numéricos : Software en Basic y aplicacio-
nes en Hidrología Superficial, San Luis Potosí, México: Editorial Universitaria Potosina.

Das könnte Ihnen auch gefallen