viernes, 23 de febrero de 2024

Ajustando datos con Python.

Ajustando datos con Python.

Instalar Júpiter Notebook. En el siguiente tutorial encontrarán como instalar Jupiter Notebook en sus cumputadoras.

Recomiendo leer el manual del profesor Pablo Vaz para tener una primera introducción al tema. Curso Python_Prof. Pablo Vaz.

 


 

Primeros pasos con Python. 

Después de instalar Jupyter Notebook en sus computadoras realizaremos nuestra primera gráfica y ajuste de datos. Para ello descarguen los siguientes datos.

A continuación les dejaré el código para que puedan realizar el gráfico y ajuste.

Paso 1: Al abrir Jupyter Notebook encontraran esta plantilla.

En la primera celda de nuestra plantilla descargaremos las librerías que necesitamos para realizar nuestra gráfica y ajuste.  Es posible encontrar en la web información sobre cada una de ellas y sus usos. En el siguiente enlace pueden encontrar 10 librerías y sus funciones.



  Paso 2: descargaremos curve_fit para poder ajustar los datos.


 Paso 3 (opcional): es importante conocer bien la ruta de nuestro archivo y su nombre correctamente, para eso podemos importar el módulo  os  de Python, el cual muestra los detalles y funcionalidades del sistema operativo.

 


 Importante: en la imagen anterior se abran dado cuenta que la dirección de la carpeta esta escrito con \\ y no con /, esto se debe a un error común en Python (verán que les escribe esto: FileNotFoundError: [Errno 2] No such file or directory:), que se soluciona colocando doble barras invertidas o una r antes de ´C.

 Paso 4: Cargo el archivo csv.


Lo puedo imprimir para ver si lo cargó bien.


Paso 5: Creamos un DataFrame con los datos del archivo .csv (¿Qué es un DataFrame?)

Paso 6: Realizo una primer ploteo(se grafican), de los datos.

Con esto puedo decidir el rango de valores que voy a definir finalmente, y puedo observar el comportamiento de los datos. Los datos parecen seguir un comportamiento polinómico.

Paso 7: Se define la función ajuste. En este caso se definirá así:

$$y = a.x^b$$, donde a y b son coeficientes que curve_fit me proporcionará y guardará en la variable res (resultado). En la variable cov (covarianza), me proporcionará los valores de la matriz de covarianza. 


 





Para los datos que tenemos nos da los siguientes valores: a= 2.06655819 y b = 1.98620366.

 Al imprimir la matriz de covarianza la diagonal principal nos da dos valores: 0.00786109 y -0.0013932. Son ambos valores pequeños lo cual nos indica que nuestros datos se ajustan bien a la función que definimos.

Supongamos que decidimos ajustar los datos por medio de una función líneal $$ y = a.x + b$$ o una una función exponencial $$y = a.e^b$$ ¿Cómo serían nuestras varianzas?


 

Para estos ejemplos el ajuste no es claramente bueno (como veremos en la última figura).

Los datos de la diagonal secundaria de la matriz es la covarianza. Cuando la covarianza es positiva, los datos tienen un comportamiento similar al de la función de ajuste (crecen o decresen a la vez). Una covarianza negativa indica que poseen un comportamiento opuesto (cuando los datos para un punto crecen, en la función decrecen).

Paso 8:  Para plotear el ajuste sobre los datos crearemos n valores de la variable independiente en el rango que voy a estudiar. En este caso creo 50 valores igualmente distribuidos entre 0 y 20. 

 Paso 9: Grafico los datos juntos con la curva de ajuste. Como ven en la tercer línea de código también se establecen los nombres de los ejes y sus límites.


El resultado será el siguiente:

Si coloco los otros ajuste puedo darme cuenta mejor del concepto de varianza y covarianza.



Pueden descargar el código aquí mostrado en los siguientes formatos:pdf y ipynb (jupyter notebook).









 

No hay comentarios.:

Publicar un comentario

Ejercicios teóricos.

 Tema 1: Ejercicios electrostática.      Tema 2: Ejercicios campo eléctrico y diferencia de potencial.