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.

LinearModel

Modelo de regresión lineal

Descripción

es un objeto de modelo de regresión lineal ajustada.LinearModel Un modelo de regresión describe la relación entre una respuesta y predictores. La linealidad en un modelo de regresión lineal se refiere a la linealidad de los coeficientes predictores.

Utilice las propiedades de un objeto para investigar un modelo de regresión lineal ajustada.LinearModel Las propiedades del objeto incluyen información sobre estimaciones de coeficiente, estadísticas de Resumen, método de adaptación y datos de entrada. Utilice las funciones de objeto para predecir las respuestas y modificar, evaluar y visualizar el modelo de regresión lineal.

Creación

Cree un objeto mediante o.LinearModelfitlmstepwiselm

ajusta un modelo de regresión lineal a los datos mediante una especificación de modelo fija.fitlm Use, o para agregar o quitar términos del modelo.addTermsremoveTermsstep Alternativamente, se utiliza para ajustar un modelo utilizando la regresión lineal escalonada.stepwiselm

Propiedades

expandir todo

Estimaciones de coeficiente

Esta propiedad es de solo lectura.

Matriz de covarianza de estimaciones de coeficiente, especificada como una-por-matriz de valores numéricos. es el número de coeficientes en el modelo ajustado.ppp

Para obtener más información, consulte.Errores estándar de coeficiente y intervalos de confianza

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Nombres de coeficiente, especificados como una matriz de celdas de vectores de caracteres, cada uno de los cuales contiene el nombre del término correspondiente.

Tipos de datos: cell

Esta propiedad es de solo lectura.

Valores de coeficiente, especificados como una tabla. contiene una fila por cada coeficiente y estas columnas:Coefficients

  • — Valor del coeficiente EstimadoEstimate

  • — Error estándar de la estimaciónSE

  • —-estadística para una prueba de que el coeficiente es cerotStatt

  • —-valor para el-estadísticopValuept

Utilice (sólo para un modelo de regresión lineal) o para realizar otras pruebas en los coeficientes.anovacoefTest Se utiliza para encontrar los intervalos de confianza de las estimaciones de coeficiente.coefCI

Para obtener cualquiera de estas columnas como un vector, índice en la propiedad mediante la notación de puntos. Por ejemplo, obtenemos el vector de coeficiente estimado en el modelo:mdl

beta = mdl.Coefficients.Estimate

Tipos de datos: table

Esta propiedad es de solo lectura.

Número de coeficientes del modelo, especificado como un entero positivo. incluye los coeficientes que se establecen en cero cuando los términos del modelo son deficientes de rango.NumCoefficients

Tipos de datos: double

Esta propiedad es de solo lectura.

Número de coeficientes estimados en el modelo, especificado como un entero positivo. no incluye los coeficientes que se establecen en cero cuando los términos del modelo son deficientes de rango. son los grados de libertad para la regresión.NumEstimatedCoefficientsNumEstimatedCoefficients

Tipos de datos: double

Resumen de estadísticas

Esta propiedad es de solo lectura.

Grados de libertad para el error (residuos), igual al número de observaciones menos el número de coeficientes estimados, especificado como un entero positivo.

Tipos de datos: double

Esta propiedad es de solo lectura.

Diagnósticos de observación, especificados como una tabla que contiene una fila para cada observación y las columnas descritas en esta tabla.

ColumnaSignificadoDescripción
apalancamientoElementos diagonales deHatMatrixpara cada observación indica en qué medida el ajuste está determinado por los valores predictores observados.apalancamiento Un valor cercano indica que el ajuste está determinado en gran medida por esa observación, con escasa contribución de las otras observaciones.1 Un valor cercano indica que el ajuste está determinado en gran medida por las otras observaciones.0 Para un modelo con coeficientes y observaciones, el valor medio de is.PNapalancamientoP/N Un valor mayor que indica un apalancamiento alto.apalancamiento2*P/N
CooksDistanceLa distancia del cocineroes una medida de cambio escalado en los valores ajustados.CooksDistance Una observación con mayor de tres veces la distancia media de Cook puede ser un valor atípico.CooksDistance
DffitsLas diferencias de escala Delete-1 en los valores ajustadoses el cambio escalado en los valores ajustados para cada observación que resulta de excluir esa observación del ajuste.Dffits Los valores mayores que en el valor absoluto pueden considerarse influyentes.2*sqrt(P/N)
S2_iVarianza Delete-1es un conjunto de estimaciones de desviación residual obtenidas eliminando cada observación a su vez.S2_i Estas estimaciones se pueden comparar con el valor de error cuadrado medio (MSE), almacenado en la propiedad.MSE
CovRatioDelete-1 ratio del determinante de la covarianzaes la relación del determinante de la matriz de covarianza de coeficiente, con cada observación eliminada a su vez, al determinante de la matriz de covarianza para el modelo completo.CovRatio Valores mayores o menores que indican puntos influyentes.1 + 3*P/N1 – 3*P/N
DfbetasDelete-1 escala diferencias en las estimaciones de coeficientees una-por-matriz del cambio escalado en las estimaciones de coeficiente que resulta de excluir cada observación a su vez.DfbetasNP Los valores mayores que en el valor absoluto indican que la observación tiene una influencia significativa en el coeficiente correspondiente.3/sqrt(N)
HatMatrixMatriz de proyección para calcular a partir de respuestas observadasfittedes una-por-matriz tal que, donde es el vector de respuesta y es el vector de los valores de respuesta ajustada.HatMatrixNNFitted = HatMatrix*YYFitted

contiene información útil para encontrar valores atípicos y observaciones influyentes.Diagnostics Los diagnósticos Delete-1 capturan los cambios que resultan de excluir cada observación a su vez del ajuste. Para obtener más información, consulte y.Hat Matrix y leverageLa distancia del cocineroDelete-1 estadísticas

Se utiliza para trazar diagnósticos de observación.plotDiagnostics

Las filas no utilizadas en el ajuste debido a que faltan valores (in) o valores excluidos (in) contienen valores en el,, y columnas y ceros en el, y columnas.ObservationInfo.MissingObservationInfo.ExcludedNaNCooksDistanceDffitsS2_iCovRatioapalancamientoDfbetasHatMatrix

Para obtener cualquiera de estas columnas como una matriz, índice en la propiedad mediante la notación de puntos. Por ejemplo, obtenga el vector de varianza Delete-1 en el modelo:mdl

S2i = mdl.Diagnostics.S2_i;

Tipos de datos: table

Esta propiedad es de solo lectura.

Valores de respuesta ajustados (previstos) basados en datos de entrada, especificados como un vector numérico de-por-1. es el número de observaciones en los datos de entrada.nn Uso predict para calcular las predicciones para otros valores predictores o para calcular los límites de confianza.Fitted

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Logverosimilitud de valores de respuesta, especificado como un valor numérico, basado en la suposición de que cada valor de respuesta sigue una distribución normal. La media de la distribución normal es el valor de respuesta ajustado (predicho) y la varianza es la.MSE

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Criterio para la comparación de modelos, especificado como una estructura con estos campos:

  • — Criterio de información de Akaike. , donde es el logverosimilitud y es el número de parámetros estimados.AICAIC = –2*logL + 2*mlogLm

  • — Criterio de información de Akaike corregido para el tamaño de la muestra. , donde está el número de observaciones.AICcAICc = AIC + (2*m*(m+1))/(n–m–1)n

  • — Criterio de información bayesiana. .BICBIC = –2*logL + m*log(n)

  • — Criterio de información consistente de Akaike. .CAICCAIC = –2*logL + m*(log(n)+1)

Los criterios de información son herramientas de selección de modelo que puede utilizar para comparar varios modelos aptos para los mismos datos. Estos criterios son medidas basadas en la probabilidad de ajuste de modelo que incluyen una penalización por complejidad (concretamente, el número de parámetros). Diferentes criterios de información se distinguen por la forma de la sanción.

Cuando se comparan varios modelos, el modelo con el valor de criterio de información más bajo es el modelo que mejor se ajusta. El modelo de mejor ajuste puede variar en función del criterio utilizado para la comparación de modelos.

Para obtener cualquiera de los valores de criterio como un escalar, índice en la propiedad mediante la notación de puntos. Por ejemplo, obtenemos el valor AIC en el modelo:aicmdl

aic = mdl.ModelCriterion.AIC

Tipos de datos: struct

Esta propiedad es de solo lectura.

Error medio cuadrado (residuos), especificado como un valor numérico.

MSE = SSE / DFE,

donde está el error cuadrado medio, es la suma de los errores cuadrados, y es los grados de libertad.MSESSEDFE

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Residuales para el modelo ajustado, especificado como una tabla que contiene una fila para cada observación y las columnas descritas en esta tabla.

ColumnaDescripción
RawObservado menos ajustados valores
PearsonResiduos brutos divididos por el error medio cuadrado de la raíz (RMSE)
StandardizedLos residuos brutos divididos por su desviación estándar estimada
StudentizedResiduo crudo dividido por una estimación independiente de la desviación estándar residual. El residuo para la observación se divide por una estimación de la desviación estándar de error basada en todas las observaciones excepto en la observación.ii

Se utiliza para crear una gráfica de los residuos.plotResiduals Para obtener más información, consulte.Residuos

Las filas no utilizadas en el ajuste debido a que faltan valores (in) o valores excluidos (in) contienen valores.ObservationInfo.MissingObservationInfo.ExcludedNaN

Para obtener cualquiera de estas columnas como un vector, índice en la propiedad mediante la notación de puntos. Por ejemplo, obtenga el vector residual en bruto en el modelo:rmdl

r = mdl.Residuals.Raw

Tipos de datos: table

Esta propiedad es de solo lectura.

Error medio cuadrado de raíz (residuos), especificado como un valor numérico.

RMSE = sqrt(MSE),

donde está el error cuadrado medio cuadrático y es el error cuadrado medio.RMSEMSE

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Valor R cuadrado para el modelo, especificado como una estructura con dos campos:

  • — Ordinario (sin ajustar) R cuadradoOrdinary

  • — R cuadrado ajustado para el número de coeficientesAdjusted

El valor R cuadrado es la proporción de la suma total de los cuadrados explicados por el modelo. El valor R cuadrado ordinario se relaciona con las propiedades y:SSRSST

Rsquared = SSR/SST = 1 – SSE/SST,

donde está la suma total de los cuadrados, es la suma de los errores cuadrados, y es la suma de la regresión de los cuadrados.SSTSSESSR

Para obtener más información, consulte.Coeficiente de determinación (R-cuadrado)

Para obtener cualquiera de estos valores como un valor escalar, índice en la propiedad mediante la notación de puntos. Por ejemplo, obtenga el valor R cuadrado ajustado en el modelo:mdl

r2 = mdl.Rsquared.Adjusted

Tipos de datos: struct

Esta propiedad es de solo lectura.

Suma de errores cuadrados (residuales), especificado como un valor numérico.

El teorema de Pitágoras implica

SST = SSE + SSR,

donde está la suma total de los cuadrados, es la suma de los errores cuadrados, y es la suma de la regresión de los cuadrados.SSTSSESSR

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Suma de los cuadrados de regresión, especificado como un valor numérico. La suma de los cuadrados de la regresión es igual a la suma de las desviaciones cuadradas de los valores ajustados de su media.

El teorema de Pitágoras implica

SST = SSE + SSR,

donde está la suma total de los cuadrados, es la suma de los errores cuadrados, y es la suma de la regresión de los cuadrados.SSTSSESSR

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Suma total de cuadrados, especificado como un valor numérico. La suma total de los cuadrados es igual a la suma de las desviaciones cuadradas del vector de respuesta de la.ymean(y)

El teorema de Pitágoras implica

SST = SSE + SSR,

donde está la suma total de los cuadrados, es la suma de los errores cuadrados, y es la suma de la regresión de los cuadrados.SSTSSESSR

Tipos de datos: single | double

Método de ajuste

Esta propiedad es de solo lectura.

Información de ajuste robusta, especificada como una estructura con los campos descritos en esta tabla.

CampoDescripción
WgtFunFunción de ponderación robusta, como (ver)'bisquare''RobustOpts'
TuneConstante de sintonización. Este campo está vacío () si es o si es un manejador de función para una función de ponderación personalizada con la constante de sintonización predeterminada 1.[]WgtFun'ols'WgtFun
WeightsVector de pesos utilizado en la iteración final de ajuste robusto. Este campo está vacío para un objeto.CompactLinearModel

Esta estructura está vacía a menos que encaje el modelo utilizando una regresión robusta.

Tipos de datos: struct

Esta propiedad es de solo lectura.

Información de ajuste stepwise, especificada como una estructura con los campos descritos en esta tabla.

CampoDescripción
StartFórmula que representa el modelo inicial
LowerFórmula que representa el modelo de límite inferior. Los términos en deben permanecer en el modelo.Lower
UpperFórmula que representa el modelo de límite superior. El modelo no puede contener más términos que.Upper
CriterionCriterio utilizado para el algoritmo escalonado, como'sse'
PEnterUmbral para agregar un términoCriterion
PRemoveUmbral para eliminar un términoCriterion
HistoryTabla que representa los pasos tomados en el ajuste

La tabla contiene una fila para cada paso, incluido el ajuste inicial, y las columnas descritas en esta tabla.History

ColumnaDescripción
Action

Acción tomada durante el paso:

  • — Primer paso'Start'

  • — Se añade un término'Add'

  • — Se elimina un término'Remove'

TermName
  • Si es, especifica la especificación del modelo inicial.Action'Start'TermName

  • Si es o, especifica el término agregado o quitado en el paso.Action'Add''Remove'TermName

TermsLa especificación del modelo en unTérminos matriz
DFLos grados de libertad de regresión después del paso
delDFCambio en los grados de regresión de la libertad del paso anterior (negativo para los pasos que eliminan un término)
DesviaciónDesviación (suma de cuadrados residual) en el paso (sólo para un modelo de regresión lineal generalizada)
FStat-estadística que lleva al pasoF
PValue-valor de la-estadísticapF

La estructura está vacía a menos que ajuste el modelo utilizando la regresión escalonada.

Tipos de datos: struct

Datos de entrada

Esta propiedad es de solo lectura.

Información del modelo, especificada como un objeto.LinearFormula

Visualice la fórmula del modelo ajustado utilizando la notación de puntos:mdl

mdl.Formula

Esta propiedad es de solo lectura.

Número de observaciones de la función de empalme utilizada en el empalme, especificada como un entero positivo. es el número de observaciones proporcionadas en la tabla, el DataSet o la matriz original, menos las filas excluidas (establecidas con el argumento de par nombre-valor) o las filas con valores faltantes.NumObservations'Exclude'

Tipos de datos: double

Esta propiedad es de solo lectura.

Número de variables predictoras utilizadas para ajustarse al modelo, especificadas como un entero positivo.

Tipos de datos: double

Esta propiedad es de solo lectura.

Número de variables en los datos de entrada, especificadas como un entero positivo. es el número de variables en la tabla o DataSet original, o el número total de columnas en la matriz predictora y el vector de respuesta.NumVariables

también incluye cualquier variable que no se utilice para ajustar el modelo como predictores o como la respuesta.NumVariables

Tipos de datos: double

Esta propiedad es de solo lectura.

Información de observación, especificada como una tabla-por-4, donde es igual al número de filas de datos de entrada.nn Contiene las columnas descritas en esta tabla.ObservationInfo

ColumnaDescripción
WeightsPeso de observación, especificado como un valor numérico. El valor predeterminado es.1
ExcludedIndicador de observación excluida, especificado como valor lógico. El valor es si se excluye la observación del ajuste mediante el argumento de par nombre-valor.true'Exclude'
MissingIndicador de falta de observación, especificado como valor lógico. El valor es si falta la observación.true
SubsetIndicador de si una función de ajuste utiliza o no la observación, especificada como un valor lógico. El valor es si la observación no se excluye o falta, lo que significa que la función de ajuste utiliza la observación.true

Para obtener cualquiera de estas columnas como un vector, índice en la propiedad mediante la notación de puntos. Por ejemplo, obtenemos el vector de peso del modelo:wmdl

w = mdl.ObservationInfo.Weights

Tipos de datos: table

Esta propiedad es de solo lectura.

Nombres de observación, especificados como una matriz de celdas de vectores de caracteres que contienen los nombres de las observaciones utilizadas en el ajuste.

  • Si el ajuste se basa en una tabla o un DataSet que contiene nombres de observación, utiliza esos nombres.ObservationNames

  • De lo contrario, es una matriz de celdas vacía.ObservationNames

Tipos de datos: cell

Esta propiedad es de solo lectura.

Nombres de los predictores que se utilizan para ajustarse al modelo, especificado como una matriz de vectores de caracteres de celda.

Tipos de datos: cell

Esta propiedad es de solo lectura.

Nombre de variable de respuesta, especificado como un vector de caracteres.

Tipos de datos: char

Esta propiedad es de solo lectura.

Información sobre las variables contenidas en, especificadas como una tabla con una fila para cada variable y las columnas descritas en esta tabla.Variables

ColumnaDescripción
ClassClase de variable, especificada como una matriz de celdas de vectores de caracteres, como y'double''categorical'
Range

Rango variable, especificado como una matriz de vectores de celdas

  • Variable continua: Vector de dos elementos [min,max], los valores mínimo y máximo

  • Variable categórica: Vector de valores de variable distintos

InModelIndicador de qué variables se encuentran en el modelo ajustado, especificado como vector lógico. El valor es si el modelo incluye la variable.true
IsCategoricalIndicador de variables categóricas, especificado como vector lógico. El valor es si la variable es categórica.true

también incluye cualquier variable que no se utilice para ajustar el modelo como predictores o como la respuesta.VariableInfo

Tipos de datos: table

Esta propiedad es de solo lectura.

Nombres de variables, especificadas como una matriz de vectores de caracteres de celda.

  • Si el ajuste se basa en una tabla o un conjunto de datos, esta propiedad proporciona los nombres de las variables de la tabla o DataSet.

  • Si el ajuste se basa en una matriz predictora y un vector de respuesta, contiene los valores especificados por el argumento de par nombre-valor del método de empalme.VariableNames'VarNames' El valor predeterminado es.'VarNames'{'x1','x2',...,'xn','y'}

también incluye cualquier variable que no se utilice para ajustar el modelo como predictores o como la respuesta.VariableNames

Tipos de datos: cell

Esta propiedad es de solo lectura.

Datos de entrada, especificados como una tabla. contiene valores de predictor y de respuesta.Variables Si el ajuste se basa en una tabla o matriz de DataSet, contiene todos los datos de la tabla o conjunto de datasets.Variables De lo contrario, es una tabla creada a partir de la matriz de datos de entrada y la respuesta del vector.VariablesXy

también incluye cualquier variable que no se utilice para ajustar el modelo como predictores o como la respuesta.Variables

Tipos de datos: table

Funciones del objeto

expandir todo

compactModelo de regresión lineal compacta
addTermsAgregue términos al modelo de regresión lineal
removeTermsQuite los términos del modelo de regresión lineal
stepMejore el modelo de regresión lineal agregando o quitando términos
FEVALPredecir las respuestas del modelo de regresión lineal utilizando una entrada para cada predictor
PredecirPredecir las respuestas del modelo de regresión lineal
AleatorioSimular respuestas con ruido aleatorio para el modelo de regresión lineal
anovaAnálisis de varianza para el modelo de regresión lineal
coefCILos intervalos de confianza de las estimaciones de coeficiente del modelo de regresión lineal
coefTestPrueba de hipótesis lineal sobre coeficientes del modelo de regresión lineal
dwtestPrueba de Durbin-Watson con objeto de modelo de regresión lineal
plotGráfico de dispersión o parcela variable añadida del modelo de regresión lineal
plotAddedSe agregó una gráfica variable del modelo de regresión lineal
plotAdjustedResponseGráfica de respuesta ajustada del modelo de regresión lineal
plotDiagnosticsTrazar diagnósticos de observación del modelo de regresión lineal
plotEffectsTrazar los principales efectos de los predictores en el modelo de regresión lineal
plotInteractionTrazar los efectos de interacción de dos predictores en el modelo de regresión lineal
plotPartialDependenceCree parcelas de dependencia parcial (PDP) y de expectativa condicional individual (ICE)
plotResidualsLos residuales de trazado del modelo de regresión lineal
plotSliceParcela de rodajas a través de superficie de regresión lineal ajustada

Ejemplos

contraer todo

Ajuste un modelo de regresión lineal utilizando un conjunto de datos de entrada de matriz.

Cargue el conjunto de datos, un conjunto de datos de entrada de matriz.carsmall

load carsmall X = [Weight,Horsepower,Acceleration];

Ajuste un modelo de regresión lineal utilizando.fitlm

mdl = fitlm(X,MPG)
mdl =  Linear regression model:     y ~ 1 + x1 + x2 + x3  Estimated Coefficients:                     Estimate        SE          tStat        pValue                      __________    _________    _________    __________      (Intercept)        47.977       3.8785        12.37    4.8957e-21     x1             -0.0065416    0.0011274      -5.8023    9.8742e-08     x2              -0.042943     0.024313      -1.7663       0.08078     x3              -0.011583      0.19333    -0.059913       0.95236   Number of observations: 93, Error degrees of freedom: 89 Root Mean Squared Error: 4.09 R-squared: 0.752,  Adjusted R-Squared: 0.744 F-statistic vs. constant model: 90, p-value = 7.38e-27 

La visualización del modelo incluye la fórmula del modelo, los coeficientes estimados y las estadísticas de resumen del modelo.

La fórmula del modelo en la pantalla, corresponde ay ~ 1 + x1 + x2 + x3

<math display="inline">
<mrow>
<mi mathvariant="italic">y</mi>
<mo>=</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mrow>
<mi mathvariant="italic">X</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow>
<mi mathvariant="italic">X</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>3</mn>
</mrow>
</msub>
<msub>
<mrow>
<mi mathvariant="italic">X</mi>
</mrow>
<mrow>
<mn>3</mn>
</mrow>
</msub>
<mo>+</mo>
<mi>ϵ</mi>
</mrow>
</math>
.

La visualización del modelo también muestra la información del coeficiente estimado, que se almacena en la propiedad.Coefficients Mostrar la propiedad.Coefficients

mdl.Coefficients
ans=4×4 table
                    Estimate        SE          tStat        pValue  
                   __________    _________    _________    __________

    (Intercept)        47.977       3.8785        12.37    4.8957e-21
    x1             -0.0065416    0.0011274      -5.8023    9.8742e-08
    x2              -0.042943     0.024313      -1.7663       0.08078
    x3              -0.011583      0.19333    -0.059913       0.95236

La propiedad incluye estas columnas:Coefficient

  • — Estimaciones de coeficiente para cada término correspondiente en el modelo.Estimate Por ejemplo, la estimación para el término constante () es 47,977.intercept

  • — Error estándar de los coeficientes.SE

  • —-estadística para cada coeficiente para probar la hipótesis nula de que el coeficiente correspondiente es cero frente a la alternativa de que es diferente de cero, dados los otros predictores en el modelo.tStatt Tenga en cuenta que.tStat = Estimate/SE Por ejemplo, la-estadística para la intercepción es 47.977/3.8785 = 12,37.t

  • —-valor de la estadística de la prueba de hipótesis de que el coeficiente correspondiente es igual a cero o no.pValuept Por ejemplo, el-valor de la-estadística para es mayor que 0,05, por lo que este término no es significativo en el nivel de significancia 5% dado los otros términos en el modelo.ptx2

Las estadísticas de resumen del modelo son:

  • — Número de filas sin valores.Number of observationsNaN Por ejemplo, es 93 porque el vector de datos tiene seis valores y el vector de datos tiene un valor para una observación diferente, donde el número de filas en y es 100.Number of observationsMPGNaNHorsepowerNaNXMPG

  • — –, donde está el número de observaciones, y es el número de coeficientes en el modelo, incluyendo la intercepción.Error degrees of freedomn pnp Por ejemplo, el modelo tiene cuatro predictores, por lo que el is 93 – 4 = 89.Error degrees of freedom

  • — Raíz cuadrada del error medio cuadrado, que estima la desviación estándar de la distribución de errores.Root mean squared error

  • y — coeficiente de determinación y coeficiente de determinación ajustado, respectivamente.R-squaredAdjusted R-squared Por ejemplo, el valor sugiere que el modelo explica aproximadamente el 75% de la variabilidad en la variable de respuesta.R-squaredMPG

  • — Estadística de prueba para la prueba en el modelo de regresión, que comprueba si el modelo se ajusta significativamente mejor que un modelo degenerado que consta de un término constante.F-statistic vs. constant modelF

  • —-valor para la prueba en el modelo.p-valuepF Por ejemplo, el modelo es significativo con un valor de 7.3816 e-27.p

Puede encontrar estas estadísticas en las propiedades del modelo (,, y) y mediante la función.NumObservationsDFERMSERsquaredanova

anova(mdl,'summary')
ans=3×5 table
                SumSq     DF    MeanSq      F         pValue  
                ______    __    ______    ______    __________

    Total       6004.8    92    65.269                        
    Model         4516     3    1505.3    89.987    7.3816e-27
    Residual    1488.8    89    16.728                        

Ajuste un modelo de regresión lineal que contenga un predictor categórico. Reordenar las categorías del predictor categórico para controlar el nivel de referencia en el modelo. A continuación, utilice para probar la significancia de la variable categórica.anova

Modelo con predictor categórico

Cargue el conjunto de datos y cree un modelo de regresión lineal como función de.carsmallMPGModel_Year Para tratar el vector numérico como una variable categórica, identifique el predictor utilizando el argumento de par nombre-valor.Model_Year'CategoricalVars'

load carsmall mdl = fitlm(Model_Year,MPG,'CategoricalVars',1,'VarNames',{'Model_Year','MPG'})
mdl =  Linear regression model:     MPG ~ 1 + Model_Year  Estimated Coefficients:                      Estimate      SE      tStat       pValue                        ________    ______    ______    __________      (Intercept)        17.69     1.0328    17.127    3.2371e-30     Model_Year_76     3.8839     1.4059    2.7625     0.0069402     Model_Year_82      14.02     1.4369    9.7571    8.2164e-16   Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56 R-squared: 0.531,  Adjusted R-Squared: 0.521 F-statistic vs. constant model: 51.6, p-value = 1.07e-15 

La fórmula del modelo en la pantalla, corresponde aMPG ~ 1 + Model_Year

<math display="inline">
<mrow>
<mi mathvariant="normal">MPG</mi>
<mo>=</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>76</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>82</mn>
</mrow>
</msub>
<mo>+</mo>
<mi>ϵ</mi>
</mrow>
</math>
,

Dónde

<math display="inline">
<mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>76</mn>
</mrow>
</msub>
</mrow>
</math>
Y
<math display="inline">
<mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>82</mn>
</mrow>
</msub>
</mrow>
</math>
son variables indicadoras cuyo valor es uno si el valor es 76 y 82, respectivamente.Model_Year La variable incluye tres valores distintos, que puede comprobar mediante la función.Model_Yearunique

unique(Model_Year)
ans = 3×1

    70
    76
    82

elige el valor más pequeño como nivel de referencia () y crea dos variables indicadorasfitlmModel_Year'70'

<math display="inline">
<mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>76</mn>
</mrow>
</msub>
</mrow>
</math>
Y
<math display="inline">
<mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>82</mn>
</mrow>
</msub>
</mrow>
</math>
. El modelo incluye sólo dos variables indicadoras porque la matriz de diseño se convierte en deficiente rango Si el modelo incluye tres variables indicadoras (una para cada nivel) y un término de intercepción.

Modelo con variables indicadoras completas

Puede interpretar la fórmula del modelo como un modelo que tiene tres variables indicadoras sin un término de intercepción:mdl

<math display="inline">
<mrow>
<mi mathvariant="italic">y</mi>
<mo>=</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">x</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>70</mn>
</mrow>
</msub>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">x</mi>
</mrow>
<mrow>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>76</mn>
</mrow>
</msub>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mrow>
<msub>
<mrow>
<mi>β</mi>
</mrow>
<mrow>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<mi>β</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<msub>
<mrow>
<mi mathvariant="italic">x</mi>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>82</mn>
</mrow>
</msub>
<mo>+</mo>
<mi>ϵ</mi>
</mrow>
</math>
.

Alternativamente, puede crear un modelo que tenga tres variables indicadoras sin un término de intercepción mediante la creación manual de variables indicadoras y especificando la fórmula del modelo.

temp_Year = dummyvar(categorical(Model_Year)); Model_Year_70 = temp_Year(:,1); Model_Year_76 = temp_Year(:,2); Model_Year_82 = temp_Year(:,3); tbl = table(Model_Year_70,Model_Year_76,Model_Year_82,MPG); mdl = fitlm(tbl,'MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 - 1')
mdl =  Linear regression model:     MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82  Estimated Coefficients:                      Estimate      SE       tStat       pValue                        ________    _______    ______    __________      Model_Year_70      17.69      1.0328    17.127    3.2371e-30     Model_Year_76     21.574     0.95387    22.617    4.0156e-39     Model_Year_82      31.71     0.99896    31.743    5.2234e-51   Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56 

Elija nivel de referencia en modelo

Puede elegir un nivel de referencia modificando el orden de las categorías en una variable categórica. En primer lugar, cree una variable categórica.Year

Year = categorical(Model_Year);

Compruebe el orden de las categorías mediante la función.categories

categories(Year)
ans = 3x1 cell array
    {'70'}
    {'76'}
    {'82'}

Si utiliza como variable predictora, elige la primera categoría como nivel de referencia.Yearfitlm'70' Reordenar mediante la función.Yearreordercats

Year_reordered = reordercats(Year,{'76','70','82'}); categories(Year_reordered)
ans = 3x1 cell array
    {'76'}
    {'70'}
    {'82'}

La primera categoría es.Year_reordered'76' Cree un modelo de regresión lineal como función de.MPGYear_reordered

mdl2 = fitlm(Year_reordered,MPG,'VarNames',{'Model_Year','MPG'})
mdl2 =  Linear regression model:     MPG ~ 1 + Model_Year  Estimated Coefficients:                      Estimate      SE        tStat       pValue                        ________    _______    _______    __________      (Intercept)       21.574     0.95387     22.617    4.0156e-39     Model_Year_70    -3.8839      1.4059    -2.7625     0.0069402     Model_Year_82     10.136      1.3812     7.3385    8.7634e-11   Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56 R-squared: 0.531,  Adjusted R-Squared: 0.521 F-statistic vs. constant model: 51.6, p-value = 1.07e-15 

utiliza como nivel de referencia e incluye dos variables indicadorasmdl2'76'

<math display="inline">
<mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>70</mn>
</mrow>
</msub>
</mrow>
</math>
Y
<math display="inline">
<mrow>
<msub>
<mrow>
<mi>Ι</mi>
</mrow>
<mrow>
<mi mathvariant="normal">Year</mi>
<mo>=</mo>
<mn>82</mn>
</mrow>
</msub>
</mrow>
</math>
.

Evaluar predictor categórico

La visualización del modelo incluye un valor de cada término para comprobar si el coeficiente correspondiente es igual a cero.mdl2p Cada valor examina cada variable indicadora.p Para examinar la variable categórica como un grupo de variables indicadoras, utilice.Model_Yearanova Especifique para devolver una tabla ANOVA de componente que incluya estadísticas ANOVA para cada variable del modelo excepto el término constante.'components'

anova(mdl2,'components')
ans=2×5 table
                  SumSq     DF    MeanSq      F        pValue  
                  ______    __    ______    _____    __________

    Model_Year    3190.1     2    1595.1    51.56    1.0694e-15
    Error         2815.2    91    30.936                       

La tabla ANOVA de componentes incluye el-valor de la variable, que es menor que los valores-de las variables indicadoras.pModel_Yearp

Cargue el conjunto de datos, que mide el efecto de la composición del cemento en su calor de endurecimiento.hald

load hald

Este conjunto de datos incluye las variables y.ingredientsheat La matriz contiene la composición porcentual de cuatro productos químicos presentes en el cemento.ingredients El vector contiene los valores para el endurecimiento térmico después de 180 días para cada muestra de cemento.heat

Ajuste un modelo de regresión lineal robusto a los datos.

mdl = fitlm(ingredients,heat,'RobustOpts','on')
mdl =  Linear regression model (robust fit):     y ~ 1 + x1 + x2 + x3 + x4  Estimated Coefficients:                    Estimate      SE        tStat       pValue                     ________    _______    ________    ________      (Intercept)       60.09     75.818     0.79256      0.4509     x1               1.5753    0.80585      1.9548    0.086346     x2               0.5322    0.78315     0.67957     0.51596     x3              0.13346     0.8166     0.16343     0.87424     x4             -0.12052     0.7672    -0.15709     0.87906   Number of observations: 13, Error degrees of freedom: 8 Root Mean Squared Error: 2.65 R-squared: 0.979,  Adjusted R-Squared: 0.969 F-statistic vs. constant model: 94.6, p-value = 9.03e-07 

Para obtener más información, consulte el tema, que compara los resultados de un ajuste robusto con un ajuste de mínimos cuadrados estándar.Regresión robusta: reduce los efectos de valor atípico

Cargue el conjunto de datos, que mide el efecto de la composición del cemento en su calor de endurecimiento.hald

load hald

Este conjunto de datos incluye las variables y.ingredientsheat La matriz contiene la composición porcentual de cuatro productos químicos presentes en el cemento.ingredients El vector contiene los valores para el endurecimiento térmico después de 180 días para cada muestra de cemento.heat

Ajuste un modelo de regresión lineal escalonado a los datos. Especifique 0,06 como el umbral para el criterio para agregar un término al modelo.

 mdl = stepwiselm(ingredients,heat,'PEnter',0.06)
1. Adding x4, FStat = 22.7985, pValue = 0.000576232 2. Adding x1, FStat = 108.2239, pValue = 1.105281e-06 3. Adding x2, FStat = 5.0259, pValue = 0.051687 4. Removing x4, FStat = 1.8633, pValue = 0.2054 
mdl =  Linear regression model:     y ~ 1 + x1 + x2  Estimated Coefficients:                    Estimate       SE       tStat       pValue                      ________    ________    ______    __________      (Intercept)     52.577       2.2862    22.998    5.4566e-10     x1              1.4683       0.1213    12.105    2.6922e-07     x2             0.66225     0.045855    14.442     5.029e-08   Number of observations: 13, Error degrees of freedom: 10 Root Mean Squared Error: 2.41 R-squared: 0.979,  Adjusted R-Squared: 0.974 F-statistic vs. constant model: 230, p-value = 4.41e-09 

De forma predeterminada, el modelo inicial es un modelo constante. realiza la selección hacia delante y agrega el, y los términos (en ese orden), porque los valores correspondientes son menores que el valor de 0,06. a continuación, utiliza la eliminación hacia atrás y elimina del modelo porque, una vez que está en el modelo, el-valor de es mayor que el valor predeterminado de, 0,1.stepwiselmx4x1x2pPEnterstepwiselmx4x2px4PRemove

Más acerca de

expandir todo

Funcionalidad alternativa

  • Para reducir el tiempo de cálculo en conjuntos de datos de alta dimensionalidad, ajuste un modelo de regresión lineal utilizando la función.fitrlinear

  • Para regularizar una regresión, use,,, o.fitrlinearLazoridgeplsregress

    • regulariza una regresión para conjuntos de datos de alta cota mediante la regresión de lazo o cresta.fitrlinear

    • elimina los predictores redundantes en la regresión lineal mediante un lazo o una red elástica.Lazo

    • regulariza una regresión con términos correlacionados utilizando regresión de cresta.ridge

    • regulariza una regresión con términos correlacionados utilizando mínimos cuadrados parciales.plsregress

Capacidades ampliadas

Introducido en R2012a