Clase X

Oscilador armónico amortiguado

Repaso: cuadrados minimos para una recta

Por ahora, aprendimos cuadrados mínimos para una recta $y = a x + b$.

Medimos una serie de datos $(x_i, y_i)$... O, al menos, los simulamos:

y los gráficamos:

¡Parece que hay una relación entre $y$ y $x$!

Matemáticamente: $ y = f(x) $

En particular, parece una recta.

Matemáticamente: $ y = a x + b $

¿Cuáles será la recta real?

Imposible saberlo.

¿Cuál será la mejor recta a partir de estos datos?

Ahora sí. Podemos probar variar los parámetros a mano:

Es díficil ver con más precisión la alineación de la recta con los datos.

¿Qué gráfico podemos hacer para evaluarlo mejor?

¡El de los residuos!

Para encontrar una solución matemática, tenemos que definir que es "mejor".

Hay distintas maneras, pero la que usamos se basa en medir la distancia cuadrática de los $y_i$ a la recta en $x_i$:

$$ \Big (y_i - (ax_i + b) \Big)^2 = r_i^2 $$

que es lo mismo que los residuos $r_i$ al cuadrado.

Y los mejores parámetros serán los que minimizen la suma de distancias cuadráticas:

$$ \sum_i \Big( y_i - (ax_i + b) \Big)^2 = \sum_i r_i^2 $$

Nota: por ahora, estoy asumiendo que los errores en $y_i$ son iguales.

En Python, pueden usar esta función:

que devuelve los parámetros $a$ y $b$:

y la matríz de covarianza:

que contiene la varianza (errores al cuadrado) de $a$ y $b$ en la diagonal:

Interpretación física, machine learning, y causalidad

El aprendizaje automático o machine learning está de moda en estos días (e Inteligencia Artificial y Big Data).

La respuesta está en los datos.

¿Pero está la respuesta ahí?

Regresión lineal (o ajuste lineal) es la base de machine learning.

Machine Learning y Estadistica están muy relacionados. Alguien (no tengo el link ahora) los diferenció por su objetivo:

Entonces, ¿qué representan $a$ y $b$?

Entonces, $a$ y $b$ son los coeficientes para cambiar de escalas de temperatura.

Pregunta tramposa:

¿Si yo pongo $x = 10 \text{ °C}$, voy a medir $y \approx 50 \text{ °F}$?

Es una pregunta causal. Para poder sacar esa conclusión, no solo hay que saber que representan las variables, sino como fue el experimento que las midió (en la jerga, se habla del data-generating process). ¿Cuál es el modelo causal que las conecta?.

Caso 1:

Había dos termómetros, uno en Celsius y el otro en Farenheit, y a lo largo de los días fuimos anotando los valores que mostraban cada uno.

Caso 2:

Había un termómetro en Celsius y un termostato en Farenheit, y a lo largo de los días fuimos anotando los valores que mostraban cada uno.

Periodo del péndulo

En la aproximación de ángulos pequeños:

$$ T^2 = \left( \frac{2\pi}{g} \right)^2 L $$

Ajustamos:

$$ y = a x + b $$

donde $ a = \left( \frac{2\pi}{g} \right)^2 $.

$b$ debería ser $0$. ¿Dió $b=0$? ¿A qué se puede deber?

$$\begin{align} T^2 &= \left( \frac{2\pi}{g} \right)^2 L + b \\\\&= a L + b \\\\&= a \Big(L - (-b/a) \Big) \\\\&= a \Big(L - L_0 \Big) \end{align}$$

Es decir, podemos interpretar la constante como un error al medir el largo del péndulo. Por ejemplo, no medir correctamente hasta el centro del masa. Hay que chequear que de un número razonable.

Extra:

Chequear que no se puede hacer esta interpretación si ajustabamos $T \propto \sqrt L$

Cuadrados mínimos

En general, podemos calcular la distancia cuadrática de los $y$ al modelo o función $f(x, p)$ que querramos:

$$ \Big( y_i - f(x_i, p) \Big)^2 = r_i^2 $$

donde $r_i$ son los residuos y $p$ los parámetros de nuestro modelo.

Y los mejores parámetros serán los que minimizen la suma de distancias cuadráticas:

$$ \sum_i \Big( y_i - f(x_i, p) \Big)^2 = \sum_i r_i^2 $$

En caso de que los $y_i$ no sean igual de confiables, podemos agregarle un peso $w_i$ a cada término:

$$ \sum_i w_i \; r_i^2 $$

Generalmente, se usa como peso la inversa de la varianza:

$$ w_i = \frac{1}{\sigma_i^2} $$

con lo que llegamos a:

$$ \chi^2 = \sum_i \left( \frac{y_i - f(x_i, p)}{\sigma_i} \right)^2 $$

Ejemplo "aburrido": función constante

Si $f(x, p) = p$, es decir, una constante que no depende de $x$, tenemos:

$$ \sum_i \Big( y_i - p \Big)^2 = \sum_i r_i^2 $$

Podemos calcular que el mejor $p$, el que minimiza esa suma, es el promedio:

$$ p_{óptimo} = \bar{y} = \frac{1}{N} \sum_i y_i $$

A su vez, el promedio de los residuos para el $p$ óptimo es la varianza de los $y_i$:

$$ S^2 = \frac{1}{N} \sum_i \Big( y_i - \bar{y} \Big)^2 = \frac{1}{N} \sum_i r_i^2 $$

Es decir, a partir de los residuos podemos estimar los errores de los datos.

"Promedio que varia"

Cuadrados mínimos es una forma de calcular un promedio que varia en función de otra variable.

$$ \sum_i \Big( y_i - f(x_i, p) \Big)^2 = \sum_i \Big( y_i - \bar{y}(x_i, p) \Big)^2$$

Ejemplo 2: funciones polinomiales

$$ f(x, p) = p_0 + p_1 \, x + p_2 \, x^2 + \ldots + p_N \, x^N = \sum_{i=0}^N p_i \, x^i $$

Supongamos que los datos provienen de una cuadrática con máximo (y raíz) en $x=2$:

$$ f(x) = 10 - (x - 2)^2 = -x^2 + 2 x - 6 $$

Python incluye una función para hacer ajustes de polinomios de grado N:

Cuadrática para refinar máximos

Puede ser útil ajustar una cuadrática para refinar la posición y el valor de un máximo local:

Sobreajuste