Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

fitnlm

Ajustar un modelo de regresión no lineal

Descripción

ejemplo

mdl = fitnlm(tbl,modelfun,beta0) ajusta el modelo especificado por modelfun a las variables de la tabla o al arreglo de conjuntos de datos tbl y devuelve el modelo no lineal mdl.

fitnlm estima los coeficientes del modelo utilizando un procedimiento iterativo a partir de los valores iniciales en beta0.

ejemplo

mdl = fitnlm(X,y,modelfun,beta0) ajusta un modelo de regresión no lineal utilizando el vector columna y como variable de respuesta y las columnas de la matriz X como variables predictoras.

ejemplo

mdl = fitnlm(___,modelfun,beta0,Name,Value) ajusta un modelo de regresión no lineal con más opciones especificadas por uno o varios argumentos de par Name,Value.

Ejemplos

contraer todo

Cree un modelo no lineal para el consumo de combustible a partir de los datos de carbig.

Cargue los datos y cree un modelo no lineal.

load carbig
tbl = table(Horsepower,Weight,MPG);
modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];
mdl = fitnlm(tbl,modelfun,beta0)
mdl = 
Nonlinear regression model:
    MPG ~ b1 + b2*Horsepower^b3 + b4*Weight^b5

Estimated Coefficients:
          Estimate      SE        tStat       pValue 
          ________    _______    ________    ________

    b1     -49.383     119.97    -0.41164     0.68083
    b2      376.43     567.05     0.66384     0.50719
    b3    -0.78193    0.47168     -1.6578    0.098177
    b4      422.37     776.02     0.54428     0.58656
    b5    -0.24127    0.48325    -0.49926     0.61788


Number of observations: 392, Error degrees of freedom: 387
Root Mean Squared Error: 3.96
R-Squared: 0.745,  Adjusted R-Squared 0.743
F-statistic vs. constant model: 283, p-value = 1.79e-113

Cree un modelo no lineal para el consumo de combustible a partir de los datos de carbig.

Cargue los datos y cree un modelo no lineal.

load carbig
X = [Horsepower,Weight];
y = MPG;
modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];
mdl = fitnlm(X,y,modelfun,beta0)
mdl = 
Nonlinear regression model:
    y ~ b1 + b2*x1^b3 + b4*x2^b5

Estimated Coefficients:
          Estimate      SE        tStat       pValue 
          ________    _______    ________    ________

    b1     -49.383     119.97    -0.41164     0.68083
    b2      376.43     567.05     0.66384     0.50719
    b3    -0.78193    0.47168     -1.6578    0.098177
    b4      422.37     776.02     0.54428     0.58656
    b5    -0.24127    0.48325    -0.49926     0.61788


Number of observations: 392, Error degrees of freedom: 387
Root Mean Squared Error: 3.96
R-Squared: 0.745,  Adjusted R-Squared 0.743
F-statistic vs. constant model: 283, p-value = 1.79e-113

Cree un modelo no lineal para el consumo de combustible a partir de los datos de carbig. Mejore la precisión reduciendo la opción TolFun, y observe las iteraciones estableciendo la opción Display.

Cargue los datos y cree un modelo no lineal.

load carbig
X = [Horsepower,Weight];
y = MPG;
modelfun = @(b,x)b(1) + b(2)*x(:,1).^b(3) + ...
    b(4)*x(:,2).^b(5);
beta0 = [-50 500 -1 500 -1];

Cree opciones para reducir TolFun y mostrar el proceso iterativo, y cree un modelo utilizando esas opciones.

opts = statset('Display','iter','TolFun',1e-10);
mdl = fitnlm(X,y,modelfun,beta0,'Options',opts);
 
                                     Norm of         Norm of
   Iteration             SSE        Gradient           Step 
  -----------------------------------------------------------
           0     1.82248e+06
           1          678600          788810         1691.07
           2          616716     6.12739e+06         45.4738
           3          249831      3.9532e+06         293.557
           4           17675          361544         369.284
           5         11746.6         69670.5         169.079
           6         7242.22          343738         394.822
           7         6250.32          159719         452.941
           8         6172.87         91622.9         268.674
           9            6077         6957.44         100.208
          10         6076.34         6370.39         88.1905
          11         6075.75         5199.08         77.9694
          12          6075.3         4646.61          69.764
          13         6074.91         4235.96         62.9114
          14         6074.55         3885.28         57.0647
          15         6074.23          3571.1         52.0036
          16         6073.93         3286.48         47.5795
          17         6073.66         3028.34         43.6844
          18          6073.4         2794.31         40.2352
          19         6073.17         2582.15         37.1663
          20         6072.95         2389.68         34.4243
          21         6072.74         2214.84          31.965
          22         6072.55         2055.78         29.7516
          23         6072.37         1910.83          27.753
          24         6072.21         1778.51         25.9428
          25         6072.05          1657.5         24.2986
          26          6071.9         1546.65         22.8011
          27         6071.76         1444.93         21.4338
          28         6071.63         1351.44         20.1822
          29         6071.51         1265.39         19.0339
          30         6071.39         1186.06          17.978
          31         6071.28         1112.83         17.0052
          32         6071.17         1045.13          16.107
          33         6071.07         982.465         15.2762
          34         6070.98         924.389         14.5063
          35         6070.89         870.498         13.7916
          36          6070.8         820.434          13.127
          37         6070.72         773.872         12.5081
          38         6070.64         730.521         11.9307
          39         6070.57         690.117         11.3914
          40          6070.5         652.422          10.887
          41         6070.43         617.219         10.4144
          42         6070.37         584.315         9.97114
          43         6070.31          553.53         9.55489
          44         6070.25         524.703          9.1635
          45         6070.19         497.686         8.79506
          46         6070.14         472.345         8.44785
          47         6070.08         448.557         8.12028
          48         6070.03          426.21         7.81092
          49         6069.99         405.201         7.51845
          50         6069.94         385.435          7.2417
          51          6069.9         366.825         6.97956
          52         6069.85         349.293         6.73104
          53         6069.81         332.764         6.49523
          54         6069.77         317.171         6.27127
          55         6069.74         302.452          6.0584
          56          6069.7          288.55         5.85591
          57         6069.66         275.411         5.66315
          58         6069.63         262.986         5.47949
          59          6069.6          251.23          5.3044
          60         6069.57           240.1         5.13734
          61         6069.54         229.558         4.97784
          62         6069.51         219.567         4.82545
          63         6069.48         210.094         4.67977
          64         6069.45         201.107          4.5404
          65         6069.43         192.578           4.407
          66          6069.4         184.479         4.27923
          67         6069.38         176.785         4.15677
          68         6069.35         169.472         4.03935
          69         6069.33         162.518          3.9267
          70         6069.31         155.903         3.81855
          71         6069.29         149.608         3.71468
          72         6069.26         143.615         3.61486
          73         6069.24         137.907          3.5189
          74         6069.22         132.468         3.42658
          75         6069.21         127.283         3.33774
          76         6069.19         122.339         3.25221
          77         6069.17         117.623         3.16981
          78         6069.15         113.123         3.09041
          79         6069.14         108.827         3.01386
          80         6069.12         104.725         2.94002
          81          6069.1         100.806         2.86877
          82         6069.09         97.0611             2.8
          83         6069.07         93.4814         2.73358
          84         6069.06         90.0583         2.66942
          85         6069.05         86.7841         2.60741
          86         6069.03         83.6513         2.54745
          87         6069.02         80.6528         2.48947
          88         6069.01         77.7821         2.43338
          89         6068.99         75.0327         2.37908
          90         6068.98          72.399         2.32652
          91         6068.97         69.8752         2.27561
          92         6068.96         67.4561         2.22629
          93         6068.95         65.1367         2.17849
          94         6068.94         62.9122         2.13216
          95         6068.93         60.7784         2.08723
          96         6068.92         58.7308         2.04364
          97         6068.91         56.7655         2.00135
          98          6068.9         54.8787          1.9603
          99         6068.89         4349.28         18.1917
         100         6068.77         2416.27         14.4439
         101         6068.71         1721.26         12.1305
         102         6068.66         1228.78          10.289
         103         6068.63         884.002         8.82019
         104          6068.6         639.615         7.62745
         105         6068.58          464.84         6.64627
         106         6068.56         338.878         5.82964
         107         6068.55         247.508         5.14297
         108         6068.54         180.878         4.56032
         109         6068.53         132.084         4.06194
         110         6068.52         96.2342         3.63255
         111         6068.51         69.8362         3.26019
         112         6068.51         50.3734         2.93541
         113          6068.5         36.0206         2.65062
         114          6068.5         25.4451         2.39969
         115         6068.49         17.6693         2.17764
         116         6068.49         1027.39         14.0164
         117         6068.48         544.038         5.31369
         118         6068.48         94.0573         2.86663
         119         6068.48         113.637         3.73504
         120         6068.48        0.517943         1.37056
         121         6068.48         4.59523        0.912903
         122         6068.48         1.56416        0.629366
         123         6068.48         1.13846         0.43261
         124         6068.48        0.296112        0.297567
Iterations terminated: relative change in SSE less than OPTIONS.TolFun

Especifique un modelo de regresión no lineal para estimación mediante un identificador de función o una sintaxis de modelo.

Cargue los datos de muestra.

S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;

Utilice un identificador de función para especificar el modelo Hougen-Watson para los datos de tasa.

mdl = fitnlm(X,y,@hougen,beta0)
mdl = 
Nonlinear regression model:
    y ~ hougen(b,X)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1      1.2526     0.86701    1.4447    0.18654
    b2    0.062776    0.043561    1.4411    0.18753
    b3    0.040048    0.030885    1.2967    0.23089
    b4     0.11242    0.075157    1.4957    0.17309
    b5      1.1914     0.83671    1.4239     0.1923


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.193
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

De forma alternativa, puede utilizar una expresión para especificar el modelo Hougen-Watson para los datos de tasa.

myfun = 'y~(b1*x2-x3/b5)/(1+b2*x1+b3*x2+b4*x3)';
mdl2 = fitnlm(X,y,myfun,beta0)
mdl2 = 
Nonlinear regression model:
    y ~ (b1*x2 - x3/b5)/(1 + b2*x1 + b3*x2 + b4*x3)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1      1.2526     0.86701    1.4447    0.18654
    b2    0.062776    0.043561    1.4411    0.18753
    b3    0.040048    0.030885    1.2967    0.23089
    b4     0.11242    0.075157    1.4957    0.17309
    b5      1.1914     0.83671    1.4239     0.1923


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.193
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

Genere datos de muestra a partir del modelo de regresión no lineal

y=b1+b2exp(-b3x)+ε,

donde b1, b2 y b3 son coeficientes y el término de error está distribuido normalmente con media 0 y desviación estándar 0,5.

modelfun = @(b,x)(b(1)+b(2)*exp(-b(3)*x));

rng('default') % for reproducibility
b = [1;3;2];
x = exprnd(2,100,1);
y = modelfun(b,x) + normrnd(0,0.5,100,1);

Establezca las opciones de ajuste robusto.

opts = statset('nlinfit');
opts.RobustWgtFun = 'bisquare';

Ajuste el modelo no lineal utilizando las opciones de ajuste robusto. Aquí, use una expresión para especificar el modelo.

b0 = [2;2;2];
modelstr = 'y ~ b1 + b2*exp(-b3*x)';

mdl = fitnlm(x,y,modelstr,b0,'Options',opts)
mdl = 
Nonlinear regression model (robust fit):
    y ~ b1 + b2*exp( - b3*x)

Estimated Coefficients:
          Estimate      SE       tStat       pValue  
          ________    _______    ______    __________

    b1     1.0218     0.07202    14.188    2.1344e-25
    b2     3.6619     0.25429    14.401     7.974e-26
    b3     2.9732     0.38496    7.7232    1.0346e-11


Number of observations: 100, Error degrees of freedom: 97
Root Mean Squared Error: 0.501
R-Squared: 0.807,  Adjusted R-Squared 0.803
F-statistic vs. constant model: 203, p-value = 2.34e-35

Cargue los datos de muestra.

S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;

Especifique un identificador de función para ponderaciones de las observaciones. La función acepta los valores ajustados del modelo como entrada y devuelve un vector de ponderaciones.

 a = 1; b = 1;
 weights = @(yhat) 1./((a + b*abs(yhat)).^2);

Ajuste el modelo Hougen-Watson a los datos de tasa utilizando la función de las ponderaciones de las observaciones especificados.

mdl = fitnlm(X,y,@hougen,beta0,'Weights',weights)
mdl = 
Nonlinear regression model:
    y ~ hougen(b,X)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1     0.83085     0.58224     1.427    0.19142
    b2     0.04095    0.029663    1.3805    0.20477
    b3    0.025063    0.019673     1.274    0.23842
    b4    0.080053    0.057812    1.3847    0.20353
    b5      1.8261       1.281    1.4256    0.19183


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.037
R-Squared: 0.998,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 1.14e+03, p-value = 3.49e-11

Cargue los datos de muestra.

S = load('reaction');
X = S.reactants;
y = S.rate;
beta0 = S.beta;

Ajuste el modelo Hougen-Watson a los datos de tasa utilizando el modelo de varianza de error combinado.

mdl = fitnlm(X,y,@hougen,beta0,'ErrorModel','combined')
mdl = 
Nonlinear regression model:
    y ~ hougen(b,X)

Estimated Coefficients:
          Estimate       SE       tStat     pValue 
          ________    ________    ______    _______

    b1      1.2526     0.86702    1.4447    0.18654
    b2    0.062776    0.043561    1.4411    0.18753
    b3    0.040048    0.030885    1.2967    0.23089
    b4     0.11242    0.075158    1.4957    0.17309
    b5      1.1914     0.83671    1.4239     0.1923


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 1.27
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

Argumentos de entrada

contraer todo

Datos de entrada, incluidas las variables predictoras y de respuesta, especificados en forma de tabla o arreglo de conjuntos de datos. Las variables predictoras y la variable de respuesta deben ser numéricas.

  • Si especifica modelfun mediante una fórmula, la especificación del modelo en la fórmula determina las variables predictoras y de respuesta.

  • De forma predeterminada, si especifica modelfun mediante un identificador de función, la última variable es la variable de respuesta y el resto son las variables predictoras. Puede establecer otra columna como la variable de respuesta mediante el argumento de par nombre-valor ResponseVar. Para seleccionar un subconjunto de las columnas como predictores, utilice el argumento de par nombre-valor PredictorVars.

Los nombres de las variables de una tabla no tienen que ser identificadores válidos de MATLAB®, pero los nombres no deben contener espacios en blanco al principio ni al final. Si los nombres no son válidos, no puede especificar modelfun mediante una fórmula.

Puede verificar los nombres de las variables en tbl mediante la función isvarname. Si los nombres de las variables no son válidos, puede convertirlos en válidos mediante la función matlab.lang.makeValidName.

Tipos de datos: table

Variables predictoras, especificadas como una matriz n por p, donde n es el número de observaciones y p es el número de variables predictoras. Cada columna de X representa una variable y cada fila, una observación.

Tipos de datos: single | double

Variable de respuesta, especificada como vector n por 1, donde n es el número de observaciones. Cada entrada de y es la respuesta de la fila correspondiente en X.

Tipos de datos: single | double

Formato funcional del modelo, especificado como uno de los siguientes:

  • Identificador de función @modelfun o @(b,x)modelfun, donde

    • b es un vector de coeficientes con el mismo número de elementos que beta0.

    • x es una matriz con el mismo número de columnas que X o el número de columnas de variables predictoras de tbl.

    modelfun(b,x) devuelve un vector columna que contiene el mismo número de filas que x. Cada fila del vector es el resultado de evaluar modelfun en la fila correspondiente de x. En otras palabras, modelfun es una función vectorizada que opera en todas las filas de los datos y devuelve todas las evaluaciones en una sola llamada de función. modelfun debe devolver números reales para obtener coeficientes significativos.

  • Un vector de caracteres o una fórmula de escalar de cadena con el formato 'y ~ f(b1,b2,...,bj,x1,x2,...,xk)', donde f representa una función escalar de las variables de coeficientes escalares b1,...,bj y las variables de datos escalares x1,...,xk. Los nombres de las variables de la fórmula deben ser identificadores válidos de MATLAB.

Tipos de datos: function_handle | char | string

Coeficientes del modelo no lineal, especificados como un vector numérico. NonLinearModel empieza su búsqueda de los coeficientes óptimos a partir de beta0.

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En versiones anteriores a R2021a, use comas para separar cada nombre y valor y encierre Name entre comillas.

Ejemplo: 'ErrorModel','combined','Exclude',2,'Options',opt especifica el modelo de error como el modelo combinado, excluye la segunda observación del ajuste y usa las opciones definidas en la estructura opt para controlar el procedimiento iterativo de ajuste.

Nombres de los coeficientes de modelos, especificados como un arreglo de cadenas o un arreglo de celdas de vectores de caracteres.

Tipos de datos: string | cell

Formato del modelo de varianza del error, especificado como uno de los indicados a continuación. Cada modelo define el error usando una variable estándar media-cero y unidad-varianza e en combinación con componentes independientes: el valor de la función f y uno o dos parámetros a y b.

'constant' (valor predeterminado)y=f+ae
'proportional'y=f+bfe
'combined'y=f+(a+b|f|)e

El único modelo de error permitido cuando se usa Weights es 'constant'.

Nota

options.RobustWgtFun debe tener valor [] cuando use un modelo de error distinto de 'constant'.

Ejemplo: 'ErrorModel','proportional'

Estimaciones iniciales de parámetros de modelo de error en el ErrorModel elegido, especificadas como un arreglo numérico.

Modelo de errorParámetrosValores predeterminados
'constant' a1
'proportional'b1
'combined'a, b[1,1]

Solo puede usar el modelo de error 'constant' cuando utilice Weights.

Nota

options.RobustWgtFun debe tener valor [] cuando use un modelo de error distinto de 'constant'.

Por ejemplo, si 'ErrorModel' tiene el valor 'combined', puede especificar el valor inicial 1 para a y el valor inicial 2 para b de la siguiente manera.

Ejemplo: 'ErrorParameters',[1,2]

Tipos de datos: single | double

Observaciones que se excluirán del ajuste, especificadas como el par separado por comas que consta de 'Exclude' y un vector índice lógico o numérico que indica qué observaciones se excluirán del ajuste.

Por ejemplo, puede excluir las observaciones 2 y 3 de un total de 6 mediante cualquiera de los siguientes ejemplos.

Ejemplo: 'Exclude',[2,3]

Ejemplo: 'Exclude',logical([0 1 1 0 0 0])

Tipos de datos: single | double | logical

Opciones para controlar el procedimiento iterativo de ajuste, especificadas como una estructura creada por statset. Los campos relevantes son los campos no vacíos de la estructura devueltos por la llamada statset('fitnlm').

OpciónSignificadoValor predeterminado
DerivStepDiferencia relativa utilizada en los cálculos de derivadas mediante diferencias finitas. Escalar positivo o vector de escalares positivos del mismo tamaño que el vector de parámetros estimado por la función de Statistics and Machine Learning Toolbox™ utilizando la estructura de opciones.eps^(1/3)
Display

Cantidad de información que muestra el algoritmo de ajuste.

  • 'off': no muestra información.

  • 'final': muestra la salida final.

  • 'iter': muestra la salida iterativa de la ventana de comandos.

'off'
FunValCheckVector de caracteres o cadena de texto que indica que se deben comprobar los valores no válidos, como NaN o Inf, de la función modelo.'on'
MaxIterNúmero máximo de iteraciones permitidas. Entero positivo.200
RobustWgtFunFunción de ponderación para un ajuste robusto. También puede ser un identificador de función que acepte un valor residual normalizado como entrada y que devuelva ponderaciones robustas como salida. Si utiliza un identificador de función, proporcione una constante Tune. Consulte Opciones robustas.[]
TuneConstante de ajuste usada en el ajuste robusto para normalizar los valores residuales antes de aplicar la función de ponderación. Escalar positivo. Necesario si la función de ponderación está especificada como un identificador de función.Consulte Opciones robustas para conocer el valor predeterminado, que depende de RobustWgtFun.
TolFunTolerancia de terminación del valor de la función objetivo. Escalar positivo.1e-8
TolXTolerancia de terminación de los parámetros. Escalar positivo.1e-8

Tipos de datos: struct

Variables predictoras que se utilizarán en el ajuste, especificadas como el par separado por comas que consta de 'PredictorVars' y un arreglo de cadenas o un arreglo de celdas de vectores de caracteres de los nombres de las variables en la tabla o el arreglo de conjuntos de datos tbl, o un vector índice lógico o numérico que indica qué columnas son las variables predictoras.

Los valores de la cadena o los vectores de caracteres deben estar entre los nombres que figuran en tbl o en los nombres que especifique mediante el argumento de par nombre-valor 'VarNames'.

El valor predeterminado es todas las variables en X o en tbl excepto ResponseVar.

Por ejemplo, puede especificar que la segunda y la tercera variables son las variables predictoras mediante cualquiera de los siguientes ejemplos.

Ejemplo: 'PredictorVars',[2,3]

Ejemplo: 'PredictorVars',logical([0 1 1 0 0 0])

Tipos de datos: single | double | logical | string | cell

Variable de respuesta que se utilizará en el ajuste, especificada como el par separado por comas que consta de 'ResponseVar' y un nombre de variable de la tabla o el arreglo de conjuntos de datos tbl, o un vector de índices lógicos o numéricos que indica qué columna es la variable de respuesta.

Si especifica un modelo, este especifica la variable de respuesta. De lo contrario, al ajustar una tabla o un arreglo de conjuntos de datos, 'ResponseVar' indica qué variable fitnlm se debe utilizar como la respuesta.

Por ejemplo, puede especificar que la cuarta variable, es decir, yield, es la respuesta de un total de seis variables de una de las siguientes maneras.

Ejemplo: 'ResponseVar','yield'

Ejemplo: 'ResponseVar',[4]

Ejemplo: 'ResponseVar',logical([0 0 0 1 0 0])

Tipos de datos: single | double | logical | char | string

Nombres de las variables, especificados como el par separado por comas que consta de 'VarNames' y un arreglo de cadenas o un arreglo de celdas de vectores de caracteres que incluye los nombres de las columnas de X en primer lugar y el nombre de la variable de respuesta y en último lugar.

'VarNames' no se puede aplicar a las variables de una tabla o un arreglo de conjuntos de datos, puesto que dichas variables ya tienen nombres.

Ejemplo: 'VarNames',{'Horsepower','Acceleration','Model_Year','MPG'}

Tipos de datos: string | cell

Ponderaciones de las observaciones, especificadas como un vector de valores de escalar no negativos o un identificador de función.

  • Si especifica un vector, este debe tener n elementos, donde n es el número de filas de tbl o y.

  • Si especifica un identificador de función, la función debe aceptar un vector de valores de respuesta pronosticados como entrada y devolver un vector de ponderaciones reales positivas como salida.

Dadas las ponderaciones, W, NonLinearModel estima la varianza del error en la observación i mediante MSE*(1/W(i)), donde MSE es el error cuadrático medio.

Tipos de datos: single | double | function_handle

Argumentos de salida

contraer todo

Modelo no lineal que representa un ajuste de mínimos cuadrados de la respuesta a los datos, devuelto como objeto NonLinearModel.

Si la estructura Options contiene un campo RobustWgtFun que no está vacío, el modelo no es un ajuste de mínimos cuadrados, sino que utiliza la función de ajuste robusto RobustWgtFun.

Para ver las propiedades y los métodos del objeto de modelo no lineal, mdl, consulte la página de la clase NonLinearModel.

Más acerca de

contraer todo

Opciones robustas

Función de ponderaciónEcuaciónConstante de ajuste predeterminada
'andrews'w = (abs(r)<pi) .* sin(r) ./ r1.339
'bisquare' (valor predeterminado)w = (abs(r)<1) .* (1 - r.^2).^24.685
'cauchy'w = 1 ./ (1 + r.^2)2.385
'fair'w = 1 ./ (1 + abs(r))1.400
'huber'w = 1 ./ max(1, abs(r))1.345
'logistic'w = tanh(r) ./ r1.205
'talwar'w = 1 * (abs(r)<1)2.795
'welsch'w = exp(-(r.^2))2.985
[]Sin ajuste robusto

Algoritmos

  • fitnlm usa el mismo algoritmo de ajuste que nlinfit.

  • fitnlm considera los valores NaN de tbl, X e y como valores faltantes. Al ajustar un modelo, fitnlm no usa observaciones con valores faltantes u observaciones en las que modelfun devuelve valores NaN. La propiedad ObservationInfo de un modelo ajustado contiene información acerca de si fitnlm utiliza cada una de las observaciones del ajuste o no.

Referencias

[1] Seber, G. A. F., and C. J. Wild. Nonlinear Regression. Hoboken, NJ: Wiley-Interscience, 2003.

[2] DuMouchel, W. H., and F. L. O'Brien. “Integrating a Robust Option into a Multiple Regression Computing Environment.” Computer Science and Statistics: Proceedings of the 21st Symposium on the Interface. Alexandria, VA: American Statistical Association, 1989.

[3] Holland, P. W., and R. E. Welsch. “Robust Regression Using Iteratively Reweighted Least-Squares.” Communications in Statistics: Theory and Methods, A6, 1977, pp. 813–827.

Historial de versiones

Introducido en R2013b