Ajuste paramétrico
Ajuste paramétrico con modelos de la biblioteca
El ajuste paramétrico implica encontrar coeficientes (parámetros) para uno o más modelos que se ajustan a datos. Se asume que los datos son estadísticos por naturaleza y se dividen en dos componentes:
datos = componente determinista + componente aleatorio
Un modelo paramétrico proporciona el componente determinista, y el componente aleatorio suele describirse como un error asociado con los datos:
datos = modelo paramétrico + error
El modelo es una función de la variable independiente (predictor) y uno o más coeficientes. El error representa variaciones aleatorias en los datos que siguen una distribución de probabilidad específica (normalmente gaussiana). Las variaciones pueden provenir de muchas fuentes distintas, pero siempre están presentes a cierto nivel cuando aborda datos medidos. También pueden darse variaciones sistemáticas, pero pueden derivar en un modelo ajustado que no representa bien los datos.
Los coeficientes del modelo suelen tener significado físico. Por ejemplo, supongamos que ha recopilado datos que se corresponden con un único modo de desintegración de un nucleido radiactivo y desea estimar el periodo de semidesintegración (T1/2) de la desintegración. La ley de desintegración radiactiva establece que la actividad de una sustancia radiactiva cae exponencialmente con el tiempo. Por lo tanto, el modelo que se va a utilizar en el ajuste viene dado por
donde y0 es el número de núcleos en el momento t = 0, y λ es la constante de desintegración. Los datos se pueden describir con
Tanto y0 como λ son coeficientes estimados por el ajuste. Debido a que T1/2 = ln(2)/λ, el valor ajustado de la constante de desintegración proporciona el periodo de semidesintegración ajustado. Sin embargo, puesto que los datos contienen errores, el componente determinista de la ecuación no puede determinarse exactamente a partir de los datos. Por lo tanto, los coeficientes y el cálculo del periodo de semidesintegración llevarán asociada cierta incertidumbre. Si la incertidumbre es aceptable, habrá terminado de ajustar los datos. Si la incertidumbre no es aceptable, puede que tenga que tomar medidas para reducirla recopilando más datos o reduciendo el error de la medición y recopilando nuevos datos y repitiendo el ajuste del modelo.
Con otros problemas en los que no existe una teoría para dictar un modelo, también podría modificar el modelo añadiendo o eliminando términos, o sustituirlo por un modelo completamente diferente.
Los modelos paramétricos de la biblioteca de Curve Fitting Toolbox™ se describen en las siguientes secciones.
Seleccionar tipo de modelo
Seleccionar tipo de modelo de forma interactiva
Abra la app Curve Fitter escribiendo curveFitter
en la línea de comandos de MATLAB®. También puede hacer clic en Curve Fitter dentro del grupo Math, Statistics and Optimization de la pestaña Apps.
En la app Curve Fitter, vaya a la sección Fit Type de la pestaña Curve Fitter. Puede seleccionar un tipo de modelo de la galería de ajustes. Haga clic en la flecha para abrir la galería.
Esta tabla describe los modelos que puede ajustar para curvas y superficies.
Grupo de ajuste | Categoría de ajuste | Curvas | Superficies |
---|---|---|---|
Regression Models | Polinómico | Sí (hasta noveno grado) | Sí (hasta quinto grado) |
Exponencial | Sí | No | |
Logarítmico | Sí | No | |
Serie de Fourier | Sí | No | |
Modelos de Gauss | Sí | No | |
Serie de potencias | Sí | No | |
Racional | Sí | No | |
Suma de senos | Sí | No | |
Distribución de Weibull | Sí | No | |
Sigmoide | Sí | No | |
Interpolation | Interpolación | Sí, con métodos:
| Sí, con métodos:
|
Smoothing | Spline de suavizado | Sí | No |
Lowess | No | Sí | |
Custom | Ecuación personalizada | Sí | Sí |
Custom Linear Fitting | Sí | No |
El panel Results muestra las especificaciones del modelo, los valores de los coeficientes y las estadísticas de bondad del ajuste.
Sugerencia
Si su ajuste tiene problemas, los mensajes del panel Results ayudan a identificar mejor la configuración.
La app Curve Fitter proporciona una selección de tipos de ajustes y configuraciones en el panel Fit Options que puede cambiar para intentar mejorar su ajuste. Pruebe primero con los valores predeterminados y, a continuación, experimente con otras configuraciones. Para obtener más detalles sobre cómo utilizar las opciones de ajuste disponibles, consulte Especificar las opciones de ajuste y los puntos de partida optimizados.
Puede probar varias configuraciones para un solo ajuste y puede crear varios ajustes que desee comparar. Cuando crea varios ajustes en la app Curve Fitter, puede comparar distintos tipos de ajustes y configuraciones unos al lado de los otros. Para obtener más información, consulte Create Multiple Fits in Curve Fitter App.
Seleccionar el tipo de modelo de forma programática
Puede especificar el nombre de un modelo de biblioteca como vector de caracteres o escalar de cadena cuando llama a la función fit
. Por ejemplo, puede especificar un modelo poly2
cuadrático:
f = fit(x,y,"poly2")
Para ver todos los nombres de modelos de biblioteca disponibles, consulte Lista de modelos de biblioteca para ajuste de curvas y de superficie.
También puede utilizar la función fittype
para construir un objeto fittype
para un modelo de biblioteca, y utilizar fittype
como entrada para la función fit
.
Utilice la función fitoptions
para averiguar qué parámetros puede establecer; por ejemplo:
fitoptions(poly2)
Para ver ejemplos, consulte las secciones para cada tipo de modelo, enumeradas en la tabla en Seleccionar tipo de modelo de forma interactiva. Para obtener más detalles sobre todas las funciones para crear y analizar modelos, consulte Ajuste de curvas y superficies.
Centrar y escalar datos
La mayoría de ajustes de la app Curve Fitter ofrecen la opción Center and scale en el panel Fit Options. Cuando selecciona esta opción, la app reajusta el modelo con los datos centrados y escalados. En la línea de comandos, utilice la función fitoptions
con la opción Normalize
establecida en 'on'
.
Para mitigar los problemas numéricos con variables de distintas escalas, normalice los datos de entrada (también conocidos como datos predictores). Por ejemplo, supongamos que las entradas del ajuste de superficie son regímenes de motor con un intervalo de 500–4500 r/min y el porcentaje de carga del motor con un intervalo de 0–1. Center and scale mejora generalmente el ajuste debido a la gran diferencia de escala entre las dos entradas. Sin embargo, si las entradas están en las mismas unidades o en una escala similar (por ejemplo, las referencias al este y al norte para datos geográficos), Center and scale resulta menos útil. Cuando normaliza entradas con esta opción, los valores de los coeficientes ajustados cambian cuando se comparan con los datos originales.
Si va a ajustar una curva o superficie para estimar coeficientes, o si los coeficientes tienen significado físico, desmarque la casilla de verificación Center and scale. Las gráficas de la app Curve Fitter siempre utilizan la escala original, independientemente del estado de Center and scale.
En la línea de comandos, para centrar y escalar los datos antes del ajuste, cree la estructura options
utilizando la función fitoptions
con options.Normal
especificado como 'on'
. A continuación, utilice la función fit
con las opciones especificadas.
options = fitoptions; options.Normal = 'on'; options options = basefitoptions with properties: Normalize: 'on' Exclude: [] Weights: [] Method: 'None' load census f1 = fit(cdate,pop,"poly3",options)
Especificar las opciones de ajuste y los puntos de partida optimizados
Opciones de ajuste en la app Curve Fitter
En la app Curve Fitter, puede especificar opciones de ajuste de forma interactiva en el panel Fit Options. Todos los ajustes excepto Interpolant, Smoothing Spline y Lowess tienen opciones de ajuste configurables. Las opciones disponibles dependen del ajuste que seleccione (es decir, ajuste lineal, no lineal o no paramétrico).
Las opciones aquí descritas están disponibles para modelos no lineales.
Las restricciones de coeficiente inferior y superior son las únicas opciones de ajuste disponibles en el panel Fit Options para los ajustes Polynomial.
Los ajustes no paramétricos (es decir, los ajustes Interpolant, Smoothing Spline y Lowess) no tienen Advanced Options.
El panel Fit Options para el ajuste Exponential de un solo término se muestra aquí. Los valores Coefficient Constraints son para los datos census
.
Parámetros de diferenciación finita
Criterios de convergencia del ajuste
Para obtener más información sobre estas opciones de ajuste, consulte la función lsqcurvefit
(Optimization Toolbox).
Puntos de partida optimizados y restricciones predeterminados
Los puntos de partida y las restricciones predeterminados de los coeficientes para los ajustes en el panel Fit Type se muestran en la siguiente tabla. Si los puntos de partida están optimizados, se calculan de forma heurística basándose en el conjunto de datos actual. Los puntos de partida aleatorios se definen en el intervalo [0 1] y los modelos lineales no requieren puntos de partida. Si un modelo no tiene restricciones, los coeficientes no tienen ni un límite inferior ni un límite superior. Puede anular los puntos de partida y las restricciones predeterminados proporcionando los valores que desee en el panel Fit Options.
Ajuste | Puntos de partida | Restricciones |
---|---|---|
| N/A | Ninguna |
| Aleatorio | Ninguna |
| Optimizado | Ninguna |
Logarithmic | N/A | Ninguna |
| Optimizado | Ninguna |
| Optimizado | ci > 0 |
| N/A | Ninguna |
| Optimizado | Ninguna |
| Aleatorio | Ninguna |
| Optimizado | bi > 0 |
| Aleatorio | a, b > 0 |
Sigmoidal | Optimizado | x/c>0 |
Los ajustes Sum of Sine y Fourier son especialmente susceptibles a los puntos de partida y puede que los valores optimizados resulten precisos solo para algunos términos en las ecuaciones asociadas.
Especificar opciones de ajuste en la línea de comandos
Cree la estructura de opciones de ajuste predeterminado y defina la opción para centrar y escalar los datos antes del ajuste:
options = fitoptions; options.Normal = 'on'; options options = basefitoptions with properties: Normalize: 'on' Exclude: [] Weights: [] Method: 'None'
Modificar la estructura de las opciones de ajuste predeterminadas es útil cuando desea definir los campos Normalize
, Exclude
o Weights
y luego ajustar los datos con las mismas opciones, pero con distintos métodos de ajuste. Por ejemplo:
load census f1 = fit(cdate,pop,"poly3",options); f2 = fit(cdate,pop,"exp1",options); f3 = fit(cdate,pop,"cubicsp",options);
Las opciones de ajuste que dependen de datos se devuelven en el tercer argumento de salida de la función fit
. Por ejemplo, el parámetro de suavizado para un spline de suavizado depende de datos:
[f,gof,out] = fit(cdate,pop,"smooth");
smoothparam = out.p
smoothparam =
0.0089
Utilice opciones de ajuste para modificar el parámetro de suavizado para un nuevo ajuste:
options = fitoptions("Method","Smooth","SmoothingParam",0.0098); [f,gof,out] = fit(cdate,pop,"smooth",options);
Para obtener más detalles sobre cómo usar las opciones de ajuste, consulte la función fitoptions
.