7 votos

¿Cuáles son las fórmulas de las líneas de tendencia exponencial, logarítmica y polinómica?

Para crear la línea de tendencia lineal, he utilizado las siguientes fórmulas:

$$y=mx+b$$ $$m = \frac{n\sum(xy)-\sum x \sum y}{n\sum x^2 - (\sum x)^2}$$ $$b = \frac{\sum y- m \sum x}{n}$$

y esto para el R-cuadrado:

$$ R^2 = 1 - \frac{\sum[y-(mx+b)]^2}{\sum(y-\bar{y})^2}$$

Mi objetivo es crear las líneas de tendencia mediante programación, por lo que necesito las fórmulas para crearlas. Sin embargo, no puedo encontrar ningún recurso para las líneas de tendencia exponenciales, logarítmicas y polinómicas. ¿Hay algún buen recurso que me pueda remitir para que lo estudie?

(Por cierto, no me gusta mucho la estadística, así que tardaré en entenderlo).

14voto

AdamSane Puntos 1825

He llegado a la conclusión de que probablemente estás intentando reproducir lo que hace Excel.

Esto no es necesariamente sensible pero al menos es bastante sencillo.

Esto es lo que hace Excel:

  • línea de tendencia lineal Regresión simple ordinaria, ajustada por mínimos cuadrados

  • línea de tendencia logarítmica : $y \sim a + b \ln(x)$ -- ajustado por la toma de $x'=\ln(x)$ y utilizando mínimos cuadrados lineales ordinarios en el nuevo $x$ -variable (es decir, ajuste $E(y)=a+bx'$ utilizando los mínimos cuadrados como en el caso anterior). (Aquí el símbolo $'$ simplemente denota la nueva variable transformada; no pretende indicar una derivada ni nada por el estilo)

Esto sería razonablemente apropiado si la dispersión sobre la curva fuera aproximadamente constante:

enter image description here

Transformación de la $x$ -variable no altera la dispersión en cada $x$ .

  • línea de tendencia exponencial : $y \sim ae^{bx}$ -- ajustado por la toma de $y'=\ln(y)$ y utilizando los mínimos cuadrados $E(y')=a'+bx$ y luego exponenciando el intercepto para obtener $a=\exp(a')$ y exponenciando el ajuste de la escala logarítmica para obtener los valores ajustados.

Mediante la transformación $y$ cambiamos la dispersión sobre la relación de curvatura. En la escala logarítmica, donde estamos ajustando una línea recta por mínimos cuadrados, la dispersión se supone constante en esa escala, lo que implica que es proporcional a la media de $y$ en la escala de los datos originales:

enter image description here

Tenga en cuenta que los valores ajustados en la escala original estarán sesgados para la media (si la distribución es simétrica en la escala logarítmica, la curva estimará en cambio la mediana).

  • poder : $y \sim ax^b$ -- ajustado mediante la toma de registros de ambos x e y y utilizando los mínimos cuadrados para ajustar una línea recta $E(y')=a'+bx'$ y luego exponenciando el intercepto ajustado para obtener $a$ y exponenciando el ajuste a escala logarítmica para obtener los valores ajustados. (Este no lo has pedido, puedes tenerlo gratis).

Al igual que con la tendencia exponencial, al transformar $y$ cambiamos la dispersión sobre la relación de curvatura. En la escala logarítmica, donde estamos ajustando una línea recta por mínimos cuadrados, por lo que el modelo se adapta mejor cuando la dispersión sobre la curva es proporcional a la media de $y$ en la escala de los datos originales. La imagen de este caso es muy similar a la situación anterior, en la que la dispersión es mayor cuando la media es más grande. (Esto también tiene el mismo problema de sesgo de la media que el ajuste exponencial).

  • polinomio Ajuste polinómico por mínimos cuadrados mediante regresión múltiple ordinaria sobre potencias de $x$ . (Para un mejor comportamiento numérico, utilice polinomios ortogonales y convierta de nuevo).

Al igual que en el caso de la tendencia logarítmica, esta opción es la más adecuada cuando la dispersión es constante con respecto a la relación curva, pero a diferencia del caso de la tendencia logarítmica, esta opción puede aplicarse a una gama más amplia de relaciones curvas.

En el caso de la regresión polinómica es importante evitar un orden de polinomio demasiado alto; los ajustes polinómicos pueden ser bastante inestables, en algunos casos pueden verse muy afectados por pequeños cambios en unos pocos puntos.

Así que, de hecho, aparte del ajuste polinómico (que es en sí mismo simplemente un problema de regresión múltiple), si se puede ajustar una línea simple de mínimos cuadrados, se puede emular a Excel haciendo una simple transformación de uno o ambos $x$ y $y$ y utilizando los mínimos cuadrados (y posiblemente haciendo alguna transformación simple en sentido contrario en algunos casos). Como tal, ya tienes las fórmulas para esos casos.

(Si quieres algo más sensato que lo que hace Excel, puede que tengas que hacer una pregunta diferente, y entonces cuestiones como las que he planteado en los comentarios pueden ser importantes).

6voto

Peter Rabbit Puntos 36

Puede utilizar el foro para calcular los coeficientes de mínimos cuadrados de una regresión con múltiples variables independientes. Véase aquí para una explicación detallada.

Básicamente, todas se reducen a una única ecuación matricial dada por la fórmula:

$$\hat\beta = (X'X)^{-1}X'y$$

donde

$\beta=\begin{bmatrix}\beta_0 \\ \beta_1 \\ . \\. \\. \\ \beta_n \end{bmatrix}$ , $ X=\begin{bmatrix}1 & x_{11} & x_{21} & . & . & . & x_{n1}\\1 & x_{12} & x_{22} & . & . & . & x_{n2}\\. & . & . & . & & & .\\. & . & . & & . & & .\\. & . & . & & & . & .\\1 & x_{1m} & x_{2m} & . & . & . & x_{nm}\\\end{bmatrix}$ , $y=\begin{bmatrix}y_0 \\ y_1 \\ . \\. \\. \\ y_m \end{bmatrix}$

y $m$ es el número de observaciones que tiene, $n$ es el grado de la curva polinómica que se desea ajustar. Tenga en cuenta que con una curva logarítmica o exponencial $n$ sólo será $1$ .

Y la idea es que su $X$ puede tener transformaciones de su matriz original $x$ variable independiente en lugar de variables totalmente nuevas. Así, por ejemplo, para una curva polinómica su $X$ tiene como columnas su matriz original $X$ y luego esos mismos datos repetidos pero ahora elevados a diferentes potencias dependiendo del grado de la curva que quieras ajustar (esto tienes que decidirlo antes). Si quieres un desplazamiento como el de tu $b$ entonces tendrá que añadir una columna sólo con el número $1$ (es decir, para obtener una compensación).

Así que para una curva polinómica su $X$ matriz se convierte en:

$$X=\begin{bmatrix}1 & x_{1} & x_{1}^2 & . & . & . & x_{1}^n\\1 & x_{2} & x_{2}^2 & . & . & . & x_{2}^n\\. & . & . & . & & & .\\. & . & . & & . & & .\\. & . & . & & & . & .\\1 & x_{m} & x_{m}^2 & . & . & . & x_{m}^n\\\end{bmatrix}$$

Para una curva exponencial / curva logarítmica

$$X=\begin{bmatrix}1 & e^{x_1}\\1 & e^{x_2}\\. & .\\.& .\\. & .\\1 & e^{x_m}\\\end{bmatrix}, X=\begin{bmatrix}1 & \ln{x_1}\\1 & \ln{x_2}\\.& . \\.& .\\.& . \\1 & \ln{x_m}\\\end{bmatrix}$$

Obsérvese que estas ecuaciones siguen siendo lineales (en el sentido de que adoptan la forma $y=\beta X$ ) y por tanto de la misma forma que la fórmula de la curva lineal que ya has resuelto. es decir, para la curva logarítmica obtenemos $y = \beta_1 \ln{x} + \beta_0$

A veces es poco práctico utilizar lo anterior forma cerrada solución. Esto puede ocurrir si su $X$ es muy grande (alrededor de $100 000$ variables, incluso más filas). En estos casos se puede considerar la alternativa iterativo enfoque para resolver el problema de mínimos cuadrados, es decir, utilizando esta misma configuración de su $X$ en lugar de utilizar la fórmula para resolver $\beta$ se puede utilizar un método de optimización iterativo como descenso de gradiente (u otros como fmincon en Matlab o el solucionador en Excel). Aquí se trataría de minimizar:

$$\sum_1^m\left((\beta_0+\beta_1\overrightarrow{x}_1+...+\beta_n\overrightarrow{x}_n)-\overrightarrow{y}\right)^2$$

es decir

$$\sum_1^m\left(\beta X - y\right)^2$$

donde

$\overrightarrow{x}_k=\begin{bmatrix}x_{k1} \\x_{k2}\\ . \\. \\. \\ x_{km} \end{bmatrix}$

Ver este puesto para una comparación más detallada de estas dos alternativas.

3voto

Delyan Savchev Puntos 301

Bueno, creo que te refieres sólo a los modelos lineales. Si no, como ha dicho Glen_b, la lista de modelos sería incontable. Para darte una pista, en estadística llamamos a los modelos lineales si son lineales en sus parámetros. Por ejemplo, los parámetros (en tu modelo de tendencia de la imagen) son $m$ y $b$ por lo que se trata de un modelo lineal. Ahora, pasemos al cuadrático en términos de $x$ , que sigue siendo $linear$ en términos estadísticos eso sería: $y = mx + m_1x^2 + b$ . Aquí he introducido el parámetro extra $m_1$ que estaría gobernando la cuadrática..Así, en el $R^2$ fórmula, obtendrías: $R^2 =1 - \frac{\sum[y - (mx + m_1x^2 + b)]^2}{\sum(y - \bar{y})^2}$ . Análogamente, se podrían obtener expresiones similares para cualquier modelo (por ejemplo, logarítmico o cúbico) en términos de $x$ Pero hay que tener cuidado con qué y cuántos son sus parámetros. Espero que esto ayude.

3voto

Aksakal Puntos 11351

Utilice Transformación linealizadora . $$y=m\ln{x}+b$$ Todo lo que se hace es reemplazar $x$ con $\ln{x}$ en todas sus expresiones para $m$ y $b$ Por ejemplo $$b = \frac{\sum y- m \sum \ln{x}}{n}$$ Lo mismo con el exponencial: sustituir $x$ con $\exp{(x)}$ .

El polinomio se vuelve un poco más complicado, pero la idea es la misma. Hay que aplicar los mínimos cuadrados ordinarios de la forma que se muestra en este ejemplo es decir $$y=X\beta$$ donde $X$ es la matriz de columnas de sus variables dependientes. En este caso, la primera columna son todos los unos, la segunda columna es $x_i$ el tercero es $x_i^2$ el cuarto es $x_i^3$ y así sucesivamente. Entonces su parámetros estimados son $$(X'X)^{-1}X'y$$ . Tendrás que utilizar la biblioteca de cálculo de matrices, no intentes implementar el álgebra matricial tú mismo.

Al punto de Whuber, usted tiene que enchufar su variable transformada en $R^2$ también: $$ R^2 = 1 - \frac{\sum[y-(m\ln{x}+b)]^2}{\sum(y-\bar{y})^2}$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X