Main Content

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

y=y0eλt

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

data=y0eλt+error

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.

Fit Type model gallery

Esta tabla describe los modelos que puede ajustar para curvas y superficies.

Grupo de ajusteCategoría de ajusteCurvasSuperficies
Regression ModelsPolinómicoSí (hasta noveno grado)Sí (hasta quinto grado)
ExponencialNo
LogarítmicoNo
Serie de FourierNo
Modelos de GaussNo
Serie de potenciasNo
RacionalNo
Suma de senosNo
Distribución de WeibullNo
SigmoideNo
InterpolationInterpolación

Sí, con métodos:

  • Vecino más cercano

  • Lineal

  • Cúbico

  • Que conserva la forma (PCHIP)

Sí, con métodos:

  • Vecino más cercano

  • Lineal

  • Cúbico

  • Biarmónico

  • Splines de thin-plate

SmoothingSpline de suavizadoNo
LowessNo
CustomEcuación personalizada
Custom Linear FittingNo

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.

Fit Options pane showing Advanced Options for exponential fit

 Método y algoritmo de ajuste

 Parámetros de diferenciación finita

 Criterios de convergencia del ajuste

 Parámetros de coeficientes

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

Linear Fitting

N/A

Ninguna

Custom Equation

Aleatorio

Ninguna

Exponential

Optimizado

Ninguna

Logarithmic

N/A

Ninguna

Fourier

Optimizado

Ninguna

Gaussian

Optimizado

ci > 0

Polynomial

N/A

Ninguna

Power

Optimizado

Ninguna

Rational

Aleatorio

Ninguna

Sum of Sine

Optimizado

bi > 0

Weibull

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.

Consulte también

Apps

Funciones

Temas relacionados