A ojo la función no parece muy complicada, así que un polinomio de regresión no demasiado grande te debería valer.
Si sigues teniendo problemas, una red neuronal sencilla tipo perceptrón te resolverá el problema, aunque a primera vista usar un perceptrón para esos datos es matar moscas a cañonazos.
--
En España la mejor manera de guardar un secreto es escribir un libro.
y la asignatura de Análisis Numérico de la Universidad de Huelva. Tienen funciones que les pasa los resultados (interpolación) y te da una aproximación de la función. Hace tiempo que lo hice así que no puedo recordar.
¿Sabes lo que es el "Asymptotic Standard Error"? Mis escasos conocimientos de estadística y una búsqueda superficial en Google no me permiten darte una definición entendible, pero yo me enteraría de lo es es antes de descartar la función por un error del 36%, por muy grande que te parezca. Lo que sí puedo decir con total seguridad es que usar f(x)=a+b/(d*x-c) es exactamente lo mismo que usar f(x)=a+b/(x-c) (saca factor común), así que ese error del 10000% no sé que sentido puede tener (volvemos a qué es el ASE).
Otra cosa que puedo decir con seguridad es que intentar interpolar con un polinomio de grado igual al número de datos del conjunto menos uno es el camino directo a la catástrofe a no ser que los datos sean exactos y sepas con seguridad que la función es un polinomio.
Finalmente, ¿de dónde han salido esos datos?
--
--
Escriba un millón de veces "no volveré a derrochar ancho de banda"
Ahora mismo no dispongo del software apropiado en mi equipo pero he probado a tomar logaritmos de la primera variable con una hoja de cálculo: una regresión lineal del tipo y= a + b * log(x) + e parece que se aproximaría bastanta (aunque hace algún pico extraño. Ya se que el log de 0 no existe, pero puedes poner un 0 (o dado el dominio de la variable X supón que en lugar de 0, vale 1, y ya tienes logaritmo y un error despreciable).
Un saludo
Polinomio de regresión o red neuronal
(Puntos:3, Informativo)( http://mcpolu.blogspot.com/ | Última bitácora: Miércoles, 05 Marzo de 2014, 00:04h )
Si sigues teniendo problemas, una red neuronal sencilla tipo perceptrón te resolverá el problema, aunque a primera vista usar un perceptrón para esos datos es matar moscas a cañonazos.
En España la mejor manera de guardar un secreto es escribir un libro.
Papel, lápiz y coseno
(Puntos:1, Informativo)MATBLAB
(Puntos:1)( http://wordpress.rodriguezbarros.com/phpBB2/ | Última bitácora: Lunes, 18 Junio de 2007, 16:22h )
A la mierda el Karma
Interpolación polinómica por Lagrange
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Martes, 15 Junio de 2010, 16:08h )
Es un método de interpolación polinómica, te dará un polinomio de grado igual al número de datos del conjunto menos uno.
Al margen de ese problema (no es práctico si tienes un montón de puntos) no está mal.. es de lo más básico... de hecho...
¡¡Ojo!! eso sí, está bien para interpolar, ¡pero para extrapolar es un desastre! Quedas avisado
Tienes los coeficientes del polinomio expresados aquí [wolfram.com]
Asymptotic Standard Error
(Puntos:2)Otra cosa que puedo decir con seguridad es que intentar interpolar con un polinomio de grado igual al número de datos del conjunto menos uno es el camino directo a la catástrofe a no ser que los datos sean exactos y sepas con seguridad que la función es un polinomio.
Finalmente, ¿de dónde han salido esos datos?
-- Escriba un millón de veces "no volveré a derrochar ancho de banda"
Otra aproximación...
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Jueves, 13 Abril de 2006, 15:10h )