viernes, 9 de diciembre de 2011

Regresion Lineal

Autor: Rodrigo Bermedo
Competencia: Trabajo en equipo
Palabras Claves: Programacion, Regresion lineal, java, MySql

Descripcion de la actividad

Esta actividad fue parte de el curso de Desarrollo de aplicaciones cliente servidor, la activivdad consistia en crear 2 aplicaciones JAVA, que fueran capaces de pedirle al usuarion una cantidad de puntos X e Y y luego de realizar ciertas operaciones pudieran entregarle al usuario el valor de A, B, R2 y la ecuacion de la recta, la diferencias que debian exisitir entre las aplicaciones era que una debia realizar las operaciones por consola y la segunda debia implementar una interfaz grafica, aparte cada aplicacion debia generar una conexion con una base de datos previamente creada en la cual se guardarian los datos ingresados por el usuario, esta actividad debia realizarse en grupo de maximo 4 personas, las principales dificultades que presentaba este trabajo era lograr una buena coordinacion entre el grupo de trabajo tanto como para programar de una manera eficaz como tambien para crear el informe que se debia enviar al profesor.


Enunciado de la actividad

Desarrollar una aplicación basada en la arquitectura Cliente-Servidor de tres niveles (MVC: Modelo-Vista-Controlador). Debe presentar dos alternativas de solución al problema de ayudar a ajustar una curva, usando regresión lineal, para lo cual la aplicación de permitir al usuario ingresar los puntos (x, y) en una base de datos MySql.
Cada grupo debe establecer la problemática a modelar, el diseño que permita solucionar la problemática genérica y los dos software que lo solucionen, cada uno de forma independiente.
Uno de los software debe ser sobre consola y otro sobre Swing (ambos implementan transacciones).
Se recomienda utilizar JTable, AbstractTableModel y DefaultTableModel (tecnologías Java, las cuales le ayudaran a resolver cosas específicas con Swing.
El objetivo es que cada grupo pueda generar una solución de propósito general que permita apoyar, para el dominio especifico del problema seleccionado, ajustes de curvas, en este casi líneas rectas, que permitan su modelamiento.
Cada aplicaciones debe manejar los procesos de actualización de datos de ajustes, ingresar los puntos (x, y) y la aplicación de la curva ajustada a distintos casos de la problemática seleccionada.
De modo que el grupo pueda lograr los siguientes objetivos:
 -  Conocer y operar satisfactoriamente sobre la arquitectura cliente-servidor.
 - Resolver un problema, de aplicación de ciencias de la ingeniería, a partir de los  conocimientos puestos en relación en la asignatura.


Descripcion de la Problematica

Obtener la ecuación de la recta, el “a”, el “b” y el “r2” (coeficiente de correlación) a partir de los puntos ingresados “x” e “y” los cuales son años y cantidad de población en miles.
Esto nos permitirá ver el crecimiento de la población durante los años en forma lineal ascendente.
Además a partir de la ecuación se podrá obtener la predicción de población para un año futuro “x”


Ejemplo
Años    Poblacion
1991     200 
1992     300            
 
los datos de poblacion al ser ingresados al programas son multiplicados por 1000 es por ese motivo es que los datos de poblacion que se muestran en este ejemplo corresponden a 200.000 y 300.000 respectivamente.
 
Resultados:
 
La ecuación para los datos ingresados es:  y=100x+-198900
a = 100 b = -198900 r2 = 1


Diagramas de clases

diagrama aplicacion por consola



Diagrama de clases aplicacion con interfaz grafica

Diagrama de actividades

 

Implementacion de operaciones
Las operaciones utilizadas fueron las de regresión lineal para calcular a, b y r2:

Capturas de pantalla

programa por consola






programa con interfaz grafica





1 comentario: