Veamos cómo funciona la regresión.
Normalmente, se elige una función objetivo para tu curva de regresión (por ejemplo, una línea, una parábola, una curva logarítmica, etc.), y desarrollas alguna noción del error.
Tienes parámetros desconocidos en tu curva (por ejemplo, coeficientes polinomiales), y calculas los valores de estos parámetros de manera que tu función de error se minimice.
Para la regresión lineal simple, esto suele ser solo un problema de mínimos cuadrados. Para polinomios, puedes usar una matriz de Vandermonde y resolver un sistema lineal equivalente sin problema. Pero los polinomios son fáciles: son solo combinaciones lineales de potencias sucesivas de tus mediciones de variable independiente. Entonces, ¿qué hacemos cuando queremos ajustar, por ejemplo, $\sin(kt + b)$ a nuestros datos?
Bueno, depende. Digamos que tienes la creencia razonable de que tus datos se ajustan bien a una curva sinusoidal. Puedes calcular $\sin^{-1} y_i$ para todas tus mediciones (con una re-escala apropiada de $y_i$ al dominio de $\sin^{-1}$, y luego realizar una regresión lineal en $kt_i + b = \sin^{-1} y_i$.
Por supuesto, las funciones trigonométricas inversas suelen comportarse mal, por lo que esto podría no funcionar.
En su lugar, podrías pensar en cálculo, y recordar que $\sin$ es una función continua, e incluso, diferenciable. Una función diferenciable es bien aproximada por una función lineal en algún punto. Entonces, podrías calcular la derivada de tu función, y asumir que tus datos están localmente aproximados por muchas funciones lineales.
Otra forma es notar que $\sin$ tiene una expansión en serie de Taylor, y que suficientes términos deberían darte un polinomio que está bastante cerca de $\sin$ en algún dominio. Así que podrías realizar una expansión de la serie de Taylor de $n$ términos y hacer una regresión polinómica lineal regular sobre el resultado.
Si crees que tu función es una serie de senos, podrías escribir una expansión de serie de Fourier, y realizar un ajuste de mínimos cuadrados en los coeficientes de la serie de Fourier.
Si eso falla, podrías configurar una red neuronal para darte el resultado como una serie de senos. (En realidad, esto podría no funcionar sin pre-multiplicar cada término seno por, digamos, una Gaussiana, o una función de sombrero).
Puedes utilizar un algoritmo evolutivo para realizar una búsqueda estocástica en un espacio de parámetros, y usar la función de coste como tu criterio de supervivencia.
Finalmente, podrías emplear cualquier cantidad de algoritmos de mínimos cuadrados no lineales para estimar los parámetros de tu ajuste. Levenberg-Marquardt es un algoritmo comúnmente usado para estas cosas. Efectivamente, esto es lo mismo que hacer una linealización local de la función de regresión. Es una búsqueda basada en gradientes.
Esencialmente, todos los problemas de regresión son problemas de búsqueda: se buscan parámetros que den forma a la función objetivo de la manera más óptima. En consecuencia, cualquier algoritmo de búsqueda funcionará, pero no todos funcionarán bien. Desafortunadamente, no hay una respuesta bonita y cerrada elemental para calcular estos parámetros, como lo hay con la regresión lineal simple. Así que a menos que puedas transformar tus datos de alguna manera ingeniosa, es probable que no puedas hacerlo con papel y lápiz.
3 votos
En caso de que aún no lo hayas encontrado, aquí está: stats.stackexchange.com. (No creo que esto sea necesariamente fuera de tema aquí, solo que podrías intentar publicarlo allí porque es posible que recibas ayuda más rápida. La falta de respuesta después de ~2 semanas aquí indica que es posible que nunca obtengas una. Además, también podrías sorprenderte de lo buenos que son la mayoría de los estadísticos para las preguntas de "concepto".)
0 votos
@CogitoErgoCogitoSum El caso $y = A\sin(Bx+C) + D$ es exactamente lo mismo que el caso $y = \sin(Bx+C)$. Simplemente deja que $y \mapsto \frac{y-D}{A}$ y todo será igual. Ajustas los parámetros $B, C$ y luego deshaces el ajuste afín después del hecho.
0 votos
Entonces, al ajustar solo B y C, ¿tienes que hacer suposiciones sobre A y D, verdad? ¿Cómo haces $y \mapsto \frac{y-D}{A}$ sin conocer A y D? Si este método realmente te resulta trivial, ¿podrías explicarlo más precisamente?
1 votos
He eliminado muchos comentarios de esta pregunta. Recuerda, sé amable. En el futuro, si sientes que alguien más está siendo demasiado grosero, entonces informa y sigue adelante. No te involucres.