Main Content

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 ajustado.LinearModel Un modelo de regresión describe la relación entre una respuesta y los predictores. La linealidad en un modelo de regresión lineal se refiere a la linealidad de los coeficientes del predictor.

Utilice las propiedades de un objeto para investigar un modelo de regresión lineal ajustado.LinearModel Las propiedades del objeto incluyen información sobre estimaciones de coeficientes, estadísticas de resumen, método de ajuste y datos de entrada. Utilice las funciones de objeto para predecir 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 Utilice , , o para agregar o quitar términos del modelo.addTermsremoveTermsstep Como alternativa, se utiliza para ajustar un modelo mediante la regresión lineal escalonada.stepwiselm

Propiedades

expandir todo

Estimaciones de coeficiente

Esta propiedad es de solo lectura.

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

Para obtener más información, consulte .Coefficient Standard Errors and Confidence Intervals

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 para cada coeficiente y estas columnas:Coefficients

  • — Valor estimado del coeficienteEstimate

  • — Error estándar de la estimaciónSE

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

  • — -valor para la estadística -estadísticapValuept

Utilice (solo 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 del coeficiente.coefCI

Para obtener cualquiera de estas columnas como vector, indexe en la propiedad mediante la notación de puntos. Por ejemplo, obtenga 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 de modelo, especificado como un entero positivo. incluye coeficientes que se establecen en cero cuando los términos del modelo son deficientes en el 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 (residuales), 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óstico de observación, especificado como una tabla que contiene una fila para cada observación y las columnas descritas en esta tabla.

ColumnaSignificadoDescripción
LeverageElementos diagonales deHatMatrixpara cada observación indica en qué medida el ajuste está determinado por los valores predictores observados.Leverage Un valor cercano indica que el ajuste está determinado en gran medida por esa observación, con poca 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 es .PNLeverageP/N Un valor mayor que indica un alto apalancamiento.Leverage2*P/N
CooksDistanceDistancia del cocineroes una medida del cambio a escala en los valores ajustados.CooksDistance Una observación con más de tres veces la distancia media de Cook puede ser un atípico.CooksDistance
DffitsEliminar-1 diferencias escaladas en valores ajustadoses el cambio a escala en los valores ajustados para cada observación que resulta de excluir esa observación del ajuste.Dffits Los valores mayores que en valor absoluto pueden considerarse influyentes.2*sqrt(P/N)
S2_iVariación Delete-1es un conjunto de estimaciones de varianza residual obtenidas mediante la eliminación de cada observación a su vez.S2_i Estas estimaciones se pueden comparar con el valor medio de error cuadrado (MSE), almacenado en la propiedad.MSE
CovRatioEliminar-1 relación de determinante de la covarianzaes la relación del determinante de la matriz de covarianza de coeficiente, con cada observación eliminada a su vez, con el 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
DfbetasEliminar-1 diferencias escaladas en estimaciones de coeficienteses una matriz -por- del cambio escalado en las estimaciones del 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 las respuestas observadasfittedes una matriz -por- tal que , donde está el vector de respuesta y es el vector de los valores de respuesta ajustados.HatMatrixNNFitted = HatMatrix*YYFitted

contiene información que es ú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 and LeverageCook’s DistanceDelete-1 Statistics

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

Las filas que no se utilizan en el ajuste debido a que faltan valores (en ) o valores excluidos (en ) contienen valores en las columnas , , , y ceros en las columnas , , y .ObservationInfo.MissingObservationInfo.ExcludedNaNCooksDistanceDffitsS2_iCovRatioLeverageDfbetasHatMatrix

Para obtener cualquiera de estas columnas como una matriz, indexe 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 (predichos) basados en datos de entrada, especificados como un vector numérico -by-1. es el número de observaciones en los datos de entrada.nn Uso predict para calcular predicciones para otros valores predictores, o para calcular límites de confianza en .Fitted

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Loglikelihood de valores de respuesta, especificados 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 el valor .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 está la probabilidad de registro y es el número de parámetros estimados.AICAIC = –2*logL + 2*mlogLm

  • — Se ha corregido el criterio de información de Akaike 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 modelos que puede utilizar para comparar varios modelos que se ajustan a los mismos datos. Estos criterios son medidas basadas en la probabilidad de ajuste del modelo que incluyen una penalización por la complejidad (específicamente, el número de parámetros). Diferentes criterios de información se distinguen por la forma de la sanción.

Al comparar 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 ajuste adecuado puede variar en función del criterio utilizado para la comparación de modelos.

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

aic = mdl.ModelCriterion.AIC

Tipos de datos: struct

Esta propiedad es de solo lectura.

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

MSE = SSE / DFE,

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

Tipos de datos: single | double

Esta propiedad es de solo lectura.

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

ColumnaDescripción
RawValores menos ajustados observados
PearsonResiduos brutos divididos por el error cuadrado medio de raíz (RMSE)
StandardizedResiduos 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 la observación.ii

Se utiliza para crear un trazado de los residuos.plotResiduals Para obtener más información, consulte .Residuals

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

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

r = mdl.Residuals.Raw

Tipos de datos: table

Esta propiedad es de solo lectura.

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

RMSE = sqrt(MSE),

donde está el error al cuadrado medio de la raíz 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:

  • — R cuadrado ordinario (sin ajustes)Ordinary

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

El valor R cuadrado es la proporción de la suma total de cuadrados explicada por el modelo. El valor R cuadrado ordinario se refiere a las propiedades y:SSRSST

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

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

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

Para obtener cualquiera de estos valores como un escalar, indexe 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 al cuadrado (residuales), especificados como un valor numérico.

El teorema de Pitágoras implica

SST = SSE + SSR,

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

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Regresión de suma de cuadrados, especificada como un valor numérico. La suma de regresión de cuadrados 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 cuadrados, es la suma de errores al cuadrado, y es la suma de regresión de cuadrados.SSTSSESSR

Tipos de datos: single | double

Esta propiedad es de solo lectura.

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

El teorema de Pitágoras implica

SST = SSE + SSR,

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

Tipos de datos: single | double

Método de montaje

Esta propiedad es de solo lectura.

Información de ajuste sólida, 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 identificador de función para una función de peso personalizada con la constante de ajuste predeterminada 1.[]WgtFun'ols'WgtFun
WeightsVector de pesos utilizados 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 se ajuste al modelo mediante una regresión robusta.

Tipos de datos: struct

Esta propiedad es de solo lectura.

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

CampoDescripción
StartFórmula que representa el modelo de partida
LowerFórmula que representa el modelo de límite inferior. Los términos 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 añadir un términoCriterion
PRemoveUmbral para eliminar un términoCriterion
HistoryMesa que representa los pasos dados 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

Medidas tomadas 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

TermsEspecificación del modelo en unMatriz de términos
DFGrados de regresión de libertad después del paso
delDFCambio en los grados de regresión de libertad del paso anterior (negativo para los pasos que eliminan un término)
DevianceDesviación (suma residual de cuadrados) en el paso (solo para un modelo de regresión lineal generalizada)
FStat-estadística que conduce al pasoF
PValue-valor de la estadísticapF

La estructura está vacía a menos que se ajuste al modelo mediante 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 notación de puntos:mdl

mdl.Formula

Esta propiedad es de solo lectura.

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

Tipos de datos: double

Esta propiedad es de solo lectura.

Número de variables predictoras utilizadas para ajustar el modelo, especificado como un entero positivo.

Tipos de datos: double

Esta propiedad es de solo lectura.

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

también incluye las variables que no se utilizan para ajustar el modelo como predictores o como respuesta.NumVariables

Tipos de datos: double

Esta propiedad es de solo lectura.

Información de observación, especificada como una tabla -by-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 un valor lógico. El valor es si excluye la observación del ajuste mediante el argumento de par nombre-valor.true'Exclude'
MissingIndicador de observación faltante, especificado como un valor lógico. El valor es si falta la observación.true
SubsetIndicador de si una función de conexión 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 vector, indexe en la propiedad mediante la notación de puntos. Por ejemplo, obtenga 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 conjunto de datos 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 predictores utilizados para ajustarse al modelo, especificados como una matriz de celdas de vectores de caracteres.

Tipos de datos: cell

Esta propiedad es de solo lectura.

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

Tipos de datos: char

Esta propiedad es de solo lectura.

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

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

Rango variable, especificado como una matriz de celdas de vectores

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

  • Variable categórica — Vector de valores variables 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 las variables que no se utilizan para ajustar el modelo como predictores o como respuesta.VariableInfo

Tipos de datos: table

Esta propiedad es de solo lectura.

Nombres de variables, especificados como una matriz de celdas de vectores de caracteres.

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

  • 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 ajuste.VariableNames'VarNames' El valor predeterminado de es .'VarNames'{'x1','x2',...,'xn','y'}

también incluye las variables que no se utilizan para ajustar el modelo como predictores o como respuesta.VariableNames

Tipos de datos: cell

Esta propiedad es de solo lectura.

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

también incluye las variables que no se utilizan para ajustar el modelo como predictores o como respuesta.Variables

Tipos de datos: table

Funciones del objeto

expandir todo

compactCompact linear regression model
addTermsAdd terms to linear regression model
removeTermsRemove terms from linear regression model
stepImprove linear regression model by adding or removing terms
fevalPredict responses of linear regression model using one input for each predictor
predictPredict responses of linear regression model
randomSimulate responses with random noise for linear regression model
anovaAnalysis of variance for linear regression model
coefCIConfidence intervals of coefficient estimates of linear regression model
coefTestLinear hypothesis test on linear regression model coefficients
dwtestDurbin-Watson test with linear regression model object
plotScatter plot or added variable plot of linear regression model
plotAddedAdded variable plot of linear regression model
plotAdjustedResponseAdjusted response plot of linear regression model
plotDiagnosticsPlot observation diagnostics of linear regression model
plotEffectsPlot main effects of predictors in linear regression model
plotInteractionPlot interaction effects of two predictors in linear regression model
plotPartialDependenceCreate partial dependence plot (PDP) and individual conditional expectation (ICE) plots
plotResidualsPlot residuals of linear regression model
plotSlicePlot of slices through fitted linear regression surface

Ejemplos

contraer todo

Ajuste un modelo de regresión lineal mediante 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 de coeficiente estimada, que se almacena en la propiedad.Coefficients Muestre 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 del 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 con respecto 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 interceptación es 47.977/3.8785 a 12,37.t

  • — -valor para 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 -value de la -statistic para es mayor que 0.05, por lo que este término no es significativo en el nivel de significancia del 5% dados los otros términos en el modelo.ptx2

Las estadísticas resumidos 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 está el número de coeficientes en el modelo, incluida la interceptación.Error degrees of freedomn pnp Por ejemplo, el modelo tiene cuatro predictores, por lo que el es 93 – 4 x 89.Error degrees of freedom

  • — Raíz cuadrada del error cuadrado medio, que estima la desviación estándar de la distribución del error.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 -test en el modelo de regresión, que comprueba si el modelo se ajusta significativamente mejor que un modelo degenerado que consiste en sólo un término constante.F-statistic vs. constant modelF

  • — -value para la prueba en el modelo.p-valuepF Por ejemplo, el modelo es significativo con un valor de 7.3816e-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. Reordene las categorías del predictor categórico para controlar el nivel de referencia en el modelo. A continuación, se utiliza para probar la importancia de la variable categórica.anova

Modelo con Predictor Categórico

Cargue el conjunto de datos y cree un modelo de regresión lineal en función de .carsmallMPGModel_Year Para tratar el vector numérico como una variable categórica, identifique el predictor mediante 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 de indicador porque la matriz de diseño se vuelve deficiente de rango si el modelo incluye tres variables de indicador (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 de indicador sin un término de interceptació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>
.

Como alternativa, puede crear un modelo que tenga tres variables de indicador sin un término de interceptación creando manualmente variables de indicador 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 el 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 utilizando la función.categories

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

Si utiliza como variable predictora, elija 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 de es .Year_reordered'76' Cree un modelo de regresión lineal de 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 el predictor categórico

La visualización del modelo de incluye un -valor de cada término para probar si el coeficiente correspondiente es igual a cero.mdl2p Cada valor examina cada variable de indicador.p Para examinar la variable categórica como un grupo de variables indicadoras, utilice .Model_Yearanova Utilice la opción (predeterminada) para devolver una tabla ANOVA de componente que incluya estadísticas de 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 del componente incluye el valor -valor de la variable, que es menor que los valores de las variables del indicador.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 el porcentaje de composición 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 estándar de mínimos cuadrados.Reduce Outlier Effects Using Robust Regression

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 el porcentaje de composición 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 escalonada a los datos. Especifique 0,06 como umbral para que el criterio agregue 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 los términos , , y (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 se quita 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 dimensión, ajuste un modelo de regresión lineal mediante la función.fitrlinear

  • Para regularizar una regresión, utilice , , , o .fitrlinearlassoridgeplsregress

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

    • elimina los predictores redundantes en regresión lineal mediante lazo o red elástica.lasso

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

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

Capacidades ampliadas

Introducido en R2012a