Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

fitnlm

Ajustar modelo de regresión no lineal

Descripción

ejemplo

mdl = fitnlm(tbl,modelfun,beta0) se ajusta al modelo especificado por variables en la matriz de tabla o dataset y devuelve el modelo no lineal.modelfuntblmdl

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

ejemplo

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

ejemplo

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

Ejemplos

contraer todo

Cree un modelo no lineal para el kilometraje automático basado en los datos.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 kilometraje automático basado en los datos.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 kilometraje automático basado en los datos.carbig Esfuércese por obtener más precisión reduciendo la opción y observe las iteraciones estableciendo la opción.TolFunDisplay

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 e informar de la visualización iterativa y cree un modelo con las opciones.TolFun

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.9651           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.108          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.7842         2.60741           86         6069.03         83.6513         2.54745           87         6069.02         80.6529         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.879         4.56032          109         6068.53         132.084         4.06194          110         6068.52         96.2341         3.63254          111         6068.51         69.8362         3.26019          112         6068.51         50.3734         2.93541          113          6068.5         36.0205         2.65062          114          6068.5         25.4451         2.39969          115         6068.49         17.6693         2.17764          116         6068.49          1027.4         14.0164          117         6068.48         544.038         5.31368          118         6068.48          94.057         2.86663          119         6068.48         113.636         3.73502          120         6068.48        0.518548         1.37049          121         6068.48         4.59432         0.91283          122         6068.48         1.56363        0.629281          123         6068.48         1.13811        0.432539          124         6068.48        0.295961        0.297507 Iterations terminated: relative change in SSE less than OPTIONS.TolFun 

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

Cargar datos de ejemplo.

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 velocidad.

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 

Como alternativa, puede utilizar una expresión para especificar el modelo Hougen-Watson para los datos de velocidad.

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 

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

<math display="block">
<mrow>
<mi>y</mi>
<mo>=</mo>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<mi mathvariant="normal">exp</mi>
<mo stretchy="false">(</mo>
<mo>-</mo>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>3</mn>
</mrow>
</msub>
<mi>x</mi>
<mo stretchy="false">)</mo>
<mo>+</mo>
<mi>ε</mi>
<mo>,</mo>
</mrow>
</math>

Dónde

<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</math>
,
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</math>
Y
<math display="block">
<mrow>
<msub>
<mrow>
<mi>b</mi>
</mrow>
<mrow>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</math>
son coeficientes, y el término de error se distribuye normalmente con la media 0 y la 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 opciones de ajuste robustas.

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

Ajuste el modelo no lineal utilizando las opciones de ajuste robusto. Aquí, utilice 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 

Cargar datos de ejemplo.

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

Especifique un identificador de función para las ponderaciones de observación. 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 velocidad utilizando la función de ponderaciones de observación especificada.

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 

Cargar datos de ejemplo.

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

Ajuste el modelo Hougen-Watson a los datos de velocidad 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 predictora y de respuesta, especificadas como una matriz de tabla o conjunto de datos. Las variables predictoras y la variable de respuesta deben ser numéricas.

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

  • Si especifica mediante un identificador de función, la última variable es la variable de respuesta y las demás son las variables predictoras, de forma predeterminada.modelfun Puede establecer una columna diferente como 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 variable de una tabla no tienen que ser identificadores válidos.MATLAB® Sin embargo, si los nombres no son válidos, no puede especificar mediante una fórmula.modelfun

Puede verificar los nombres de las variables mediante la función.tblisvarname El código siguiente devuelve logical ( ) para cada variable que tiene un nombre de variable válido.1true Si los nombres de variable en no son válidos, a continuación, convertirlos mediante la función.

cellfun(@isvarname,tbl.Properties.VariableNames)
tblmatlab.lang.makeValidName
tbl.Properties.VariableNames = matlab.lang.makeValidName(tbl.Properties.VariableNames);

Tipos de datos: table

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

Tipos de datos: single | double

Variable de respuesta, especificada como un vector -by-1, donde está el número de observaciones.nn Cada entrada es la respuesta para la fila correspondiente de .yX

Tipos de datos: single | double

Forma funcional del modelo, especificada como cualquiera de las siguientes.

  • Mango de función @modelfun O @(b,x)modelfunDónde

    • es un vector de coeficiente con el mismo número de elementos que .bbeta0

    • es una matriz con el mismo número de columnas o el número de columnas de variables predictoras de .xXtbl

    modelfundevuelve un vector de columna que contiene el mismo número de filas que .(b,x)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 funciona en todas las filas de datos y devuelve todas las evaluaciones en una llamada de función. modelfun deben devolver números reales para obtener coeficientes significativos.

  • Vector de caracteres o escalar de cadena que representa una fórmula en el formulario 'y ~ f(b1,b2,...,bj,x1,x2,...,xk)'Dónde f representa una función escalar de las variables de coeficiente escalar ,..., y las variables de datos escalares ,..., .b1bjx1xk Los nombres de variable de la fórmula deben ser identificadores válidos.MATLAB

Tipos de datos: function_handle | char | string

Coeficientes para el modelo no lineal, especificados como un vector numérico. inicia su búsqueda de coeficientes óptimos desde .NonLinearModelbeta0

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

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

Nombres de los coeficientes del modelo, especificados como una matriz de cadenas o una matriz de celdas de vectores de caracteres.

Tipos de datos: string | cell

Forma del modelo de varianza de error, especificado como uno de los siguientes. Cada modelo define el error utilizando una variable media-cero estándar y unidad-varianza en combinación con componentes independientes: el valor de función , y uno o dos parámetros yefab

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

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

Nota

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

Ejemplo: 'ErrorModel','proportional'

Estimaciones iniciales de los parámetros del modelo de error para el , especificado como una matriz numérica.ErrorModel

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

Sólo puede utilizar el modelo de error cuando utilice .'constant'Weights

Nota

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

Por ejemplo, si tiene el valor , puede especificar el valor inicial 1 para y el valor inicial 2 para como se indica a continuación.'ErrorModel''combined'ab

Ejemplo: 'ErrorParameters',[1,2]

Tipos de datos: single | double

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

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

Ejemplo: 'Exclude',[2,3]

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

Tipos de datos: single | double | logical

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

OpciónSignificadoPredeterminado
DerivStepDiferencia relativa utilizada en cálculos de derivados de diferencias finitas. Un escalar positivo, o un vector de escalares positivos del mismo tamaño que el vector de parámetros estimados por la función mediante la estructura de opciones.Statistics and Machine Learning Toolbox™eps^(1/3)
Display

Cantidad de información mostrada por el algoritmo de ajuste.

  • — No muestra ninguna información.'off'

  • — Muestra la salida final.'final'

  • — Muestra la salida iterativa en la ventana de comandos.'iter'

'off'
FunValCheckVector de caracteres o escalar de cadena que indica que hay valores no válidos, como o , desde la función de modelo.NaNInf'on'
MaxIterNúmero máximo de iteraciones permitidas. Entero positivo.200
RobustWgtFunFunción de peso para un ajuste robusto. También puede ser un identificador de función que acepta un residual normalizado como entrada y devuelve las ponderaciones robustas como salida. Si utiliza un identificador de función, proporcione una constante.Tune VerOpciones robustas[]
TuneConstante de ajuste utilizada en el ajuste robusto para normalizar los residuos antes de aplicar la función de peso. Un escalar positivo. Necesario si la función de peso se especifica como un identificador de función.Busque el valor predeterminado, que depende de .Opciones robustasRobustWgtFun
TolFunTolerancia de terminación para el valor de función objetivo. Escalar positivo.1e-8
TolXTolerancia de terminación para 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 y una matriz de cadenas o una matriz de celdas de vectores de caracteres de los nombres de variable en la matriz de tabla o dataset, o un vector de índice lógico o numérico que indica qué columnas son variables predictoras.'PredictorVars'tbl

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

El valor predeterminado es todas las variables en , o todas las variables en excepto para .XtblResponseVar

Por ejemplo, puede especificar la segunda y la tercera variables como variables predictoras utilizando cualquiera de los ejemplos siguientes.

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 va a utilizar en el ajuste, especificado como el par separado por comas que consta de y un nombre de variable en la tabla o matriz de conjunto de datos, o un vector de índice lógico o numérico que indica qué columna es la variable de respuesta.'ResponseVar'tbl

Si especifica un modelo, especifica la variable de respuesta. De lo contrario, al ajustar una tabla o matriz de conjunto de datos, indica qué variable debe utilizarse como respuesta.'ResponseVar'fitnlm

Por ejemplo, puede especificar la cuarta variable, por ejemplo , como la respuesta de seis variables, de una de las siguientes maneras.yield

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 variables, especificados como el par separado por comas que consta de y una matriz de cadenas o matriz de celdas de vectores de caracteres, incluidos los nombres de las columnas de first, y el nombre de la variable de respuesta last.'VarNames'Xy

no es aplicable a las variables de una matriz de tabla o conjunto de datos, porque esas variables ya tienen nombres.'VarNames'

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

Tipos de datos: string | cell

Pesos de observación, especificados como un vector de valores escalares no negativos o identificador de función.

  • Si especifica un vector, debe tener elementos, donde está el número de filas en o .nntbly

  • Si especifica un identificador de función, la función debe aceptar un vector de valores de respuesta predichos como entrada y devolver un vector de pesos positivos reales como salida.

Dadas las ponderaciones, , estima la varianza del error en la observación por , donde el MSE es el error cuadrado medio.WNonLinearModeliMSE*(1/W(i))

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 un objeto.NonLinearModel

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

Para conocer las propiedades y métodos del objeto de modelo no lineal, consulte la página de clases.mdlNonLinearModel

Más acerca de

contraer todo

Opciones robustas

Función de pesoEcuaciónConstante de ajuste predeterminada
'andrews'w = (abs(r)<pi) .* sin(r) ./ r1.339
(predeterminado)'bisquare'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

utiliza el mismo algoritmo de ajuste que .fitnlmnlinfit

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.

Introducido en R2013b