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.