11 votos

Software para encontrar una función de aproximación de datos

Tengo un conjunto de datos y(x) 2D. Me gustaría encontrar una función que se ajuste a estos datos:

enter image description here

¿Existe algún software libre o de código abierto para encontrar una función que aproxime una secuencia de datos como la anterior?

Esto es lo que he encontrado hasta ahora:

  1. Fityk es un programa para el procesamiento de datos y el ajuste de curvas no lineales. El programa puede utilizarse para cualquier tarea que requiera el ajuste de una curva a datos 2D (x,y).
  2. Simfit es un paquete de software libre OpenSource Windows/Linux para la simulación, el ajuste de curvas, la estadística y el trazado, utilizando una biblioteca de modelos o ecuaciones definidas por el usuario.
  3. Zunzun.com sitio web. Aquí puede realizar el ajuste de curvas y superficies de sus datos 2D y 3D en línea con un amplio conjunto de histogramas de errores, gráficos de errores, gráficos de curvas, gráficos de superficies, gráficos de contornos, VRML, código fuente autogenerado y salida de archivos PDF.

7voto

Click Ok Puntos 521

Si he entendido bien tu pregunta, quieres ajustar una función a tus datos, pero no tienes ni idea de qué familia de funciones utilizar.

Prueba con Eureqa. Utiliza la inteligencia artificial para adivinar qué fórmula puede estar generando tus datos. El enfoque se basa en algoritmos genéticos que hacen una regresión simbólica. Lleva un poco de tiempo de cálculo, pero intentará construir una fórmula para tus datos. http://creativemachines.cornell.edu/eureqa

Otra idea es hacer una regresión spline. En este caso, evitamos la falta de conocimiento sobre la forma funcional global, modelando la curva localmente. La biblioteca 'splines' para R puede ser utilizada para esto.

Además, permítanme dar una mención de honor a Python. Tiene una buena capacidad de ajuste de curvas. Es gratuito y está disponible en Windows, Linux y OS X. Tendrás que instalar python, numpy y scipy. Aquí hay un ejemplo de lo que es posible, http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html

También podrías echar un vistazo a scikits-learn (otro paquete de python), http://scikit-learn.org/stable/

1 votos

El primer enlace parece estar muerto

3voto

Drew Jolesch Puntos 11

Una buena opción podría ser

  • La Universidad de Cornell Eureka ,

    accesible a través del enlace, y de descarga gratuita, con acceso a la documentación. Esta opción no presupone grandes conocimientos de los usuarios en materia de análisis estadístico.


Si tiene una necesidad continua de modelar y analizar datos, tal vez quiera consultar

¿Qué es R?

R es un lenguaje y un entorno para la computación estadística y los gráficos. Es un proyecto de GNU... [que] proporciona una amplia variedad de técnicas estadísticas (modelización lineal y no lineal, pruebas estadísticas clásicas, análisis de series temporales, clasificación, agrupación, ...) y gráficas, y es altamente extensible... Uno de los puntos fuertes de R es la facilidad con la que se pueden producir gráficos bien diseñados con calidad de publicación, incluyendo símbolos matemáticos y fórmulas cuando sea necesario.

En el enlace anterior puede acceder y descargar software gratuito diseñado especialmente para el cálculo estadístico y el análisis de datos. Se compila y ejecuta en una amplia variedad de plataformas UNIX, Windows y MacOS.

El sitio enlazado arriba también incluye acceso a un manual de usuario, Wiki, un diario, y preguntas frecuentes, (y creo que también hay soporte disponible a través de un foro de usuarios). Quizás quieras explorar la documentación para comprobar si este paquete puede ser de utilidad para ti.


3voto

Mister Cook Puntos 111

zunzun ya no parece estar disponible. Sin embargo, he encontrado http://www.mycurvefit.com ser una alternativa útil para probar diferentes modelos. Esto incluye la regresión lineal, no lineal, splines y modelos personalizados.

0 votos

Esto parece interesante, pero no veo la manera de exportar la función en sí.

2 votos

Haga clic en el texto gris bajo el gráfico y seleccione Exportar ecuación.

2voto

James Phillips Puntos 21

http://zunzun.com , mi sitio web, tiene un "buscador de funciones" que ajusta cientos de ecuaciones a un conjunto de datos y clasifica los resultados gráficos. No cuesta nada probarlo, y no es necesario descargarlo porque funciona en línea.

James

0 votos

En la pregunta hay un indicador de su sitio web.

1 votos

Parece que el sitio ya no funciona.

0 votos

encontrarcurvas.com pretende ser un espejo

0voto

Ivan1 Puntos 1

Intentaría Programa de análisis de datos científicos SCaVis . si miras el manual, tiene varios métodos para ajustar los datos usando una función compleja arbitraria (analítica o no). También tiene varios métodos para ajustar los datos de forma interactiva. El programa está escrito en Java, pero también se pueden crear scripts en Python (o Jython).

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