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.
Modelo de regresión lineal
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.
Cree un objeto mediante o .LinearModel
fitlm
stepwiselm
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.addTerms
removeTerms
step
Como alternativa, se utiliza para ajustar un modelo mediante la regresión lineal escalonada.stepwiselm
CoefficientCovariance
— Matriz de covarianza de estimaciones de coeficientesEsta 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
CoefficientNames
— Nombres de coeficienteEsta 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
Coefficients
— Valores de coeficienteEsta 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 cerotStat
t
— -valor para la estadística -estadísticapValue
pt
Utilice (solo para un modelo de regresión lineal) o para realizar otras pruebas en los coeficientes.anova
coefTest
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
NumCoefficients
— Número de coeficientes de modeloEsta 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
NumEstimatedCoefficients
— Número de coeficientes estimadosEsta 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.NumEstimatedCoefficients
NumEstimatedCoefficients
Tipos de datos: double
DFE
— Grados de libertad por errorEsta 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
Diagnostics
— Diagnóstico de observaciónEsta 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.
Columna | Significado | Descripción |
---|---|---|
Leverage | Elementos diagonales deHatMatrix | para 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 .P N Leverage P/N Un valor mayor que indica un alto apalancamiento.Leverage 2*P/N |
CooksDistance | Distancia del cocinero | es 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 |
Dffits | Eliminar-1 diferencias escaladas en valores ajustados | es 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_i | Variación Delete-1 | es 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 |
CovRatio | Eliminar-1 relación de determinante de la covarianza | es 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/N 1 – 3*P/N |
Dfbetas | Eliminar-1 diferencias escaladas en estimaciones de coeficientes | es una matriz -por- del cambio escalado en las estimaciones del coeficiente que resulta de excluir cada observación a su vez.Dfbetas N P Los valores mayores que en el valor absoluto indican que la observación tiene una influencia significativa en el coeficiente correspondiente.3/sqrt(N) |
HatMatrix | Matriz de proyección para calcular a partir de las respuestas observadasfitted | es una matriz -por- tal que , donde está el vector de respuesta y es el vector de los valores de respuesta ajustados.HatMatrix N N Fitted = HatMatrix*Y Y Fitted
|
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.Missing
ObservationInfo.Excluded
NaN
CooksDistance
Dffits
S2_i
CovRatio
Leverage
Dfbetas
HatMatrix
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
Fitted
— Valores de respuesta ajustados basados en datos de entradaEsta 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
LogLikelihood
— LoglikelihoodEsta 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
ModelCriterion
— Criterio para la comparación de modelosEsta 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.AIC
AIC = –2*logL + 2*m
logL
m
— Se ha corregido el criterio de información de Akaike para el tamaño de la muestra. , donde está el número de observaciones.AICc
AICc = AIC + (2*m*(m+1))/(n–m–1)
n
— Criterio de información bayesiana. .BIC
BIC = –2*logL + m*log(n)
— Criterio de información consistente de Akaike. .CAIC
CAIC = –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:aic
mdl
aic = mdl.ModelCriterion.AIC
Tipos de datos: struct
MSE
— Error medio al cuadradoEsta 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
Residuals
— Residuos para el modelo ajustadoEsta 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.
Columna | Descripción |
---|---|
Raw | Valores menos ajustados observados |
Pearson | Residuos brutos divididos por el error cuadrado medio de raíz (RMSE) |
Standardized | Residuos brutos divididos por su desviación estándar estimada |
Studentized | Residuo 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.Missing
ObservationInfo.Excluded
NaN
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:r
mdl
r = mdl.Residuals.Raw
Tipos de datos: table
RMSE
— Error al cuadrado medio de raízEsta 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
Rsquared
— Valor R cuadrado para el modeloEsta 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:SSR
SST
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.SST
SSE
SSR
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
SSE
— Suma de errores al cuadradoEsta 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.SST
SSE
SSR
Tipos de datos: single
| double
SSR
— Suma de regresión de cuadradosEsta 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.SST
SSE
SSR
Tipos de datos: single
| double
SST
— Suma total de cuadradosEsta 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 .y
mean(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.SST
SSE
SSR
Tipos de datos: single
| double
Robust
— Información sólida sobre el ajusteEsta propiedad es de solo lectura.
Información de ajuste sólida, especificada como una estructura con los campos descritos en esta tabla.
Campo | Descripción |
---|---|
WgtFun | Función de ponderación robusta, como (ver )'bisquare' 'RobustOpts' |
Tune | Constante 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 |
Weights | Vector 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
Steps
— Información de ajuste escalonadaEsta propiedad es de solo lectura.
Información de ajuste escalonada, especificada como una estructura con los campos descritos en esta tabla.
Campo | Descripción |
---|---|
Start | Fórmula que representa el modelo de partida |
Lower | Fórmula que representa el modelo de límite inferior. Los términos deben permanecer en el modelo.Lower |
Upper | Fórmula que representa el modelo de límite superior. El modelo no puede contener más términos que .Upper |
Criterion | Criterio utilizado para el algoritmo escalonado, como'sse' |
PEnter | Umbral para añadir un términoCriterion |
PRemove | Umbral para eliminar un términoCriterion |
History | Mesa 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
Columna | Descripción |
---|---|
Action | Medidas tomadas durante el paso:
|
TermName |
|
Terms | Especificación del modelo en unMatriz de términos |
DF | Grados de regresión de libertad después del paso |
delDF | Cambio en los grados de regresión de libertad del paso anterior (negativo para los pasos que eliminan un término) |
Deviance | Desviació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
Formula
— Información del modeloLinearFormula
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
NumObservations
— Número de observacionesEsta 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
NumPredictors
— Número de variables predictorasEsta propiedad es de solo lectura.
Número de variables predictoras utilizadas para ajustar el modelo, especificado como un entero positivo.
Tipos de datos: double
NumVariables
— Número de variablesEsta 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
ObservationInfo
— Información de observaciónEsta 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
Columna | Descripción |
---|---|
Weights | Peso de observación, especificado como un valor numérico. El valor predeterminado es .1 |
Excluded | Indicador 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' |
Missing | Indicador de observación faltante, especificado como un valor lógico. El valor es si falta la observación.true |
Subset | Indicador 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:w
mdl
w = mdl.ObservationInfo.Weights
Tipos de datos: table
ObservationNames
— Nombres de observaciónEsta 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
PredictorNames
— Nombres de los predictores utilizados para adaptarse al modeloEsta 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
ResponseName
— Nombre de la variable de respuestaEsta propiedad es de solo lectura.
Nombre de la variable de respuesta, especificado como vector de caracteres.
Tipos de datos: char
VariableInfo
— Información sobre variablesEsta 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
Columna | Descripción |
---|---|
Class | Clase 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
|
InModel | Indicador de qué variables se encuentran en el modelo ajustado, especificado como vector lógico. El valor es si el modelo incluye la variable.true |
IsCategorical | Indicador 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
VariableNames
— Nombres de variablesEsta 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
Variables
— Datos de entradaEsta 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 .Variables
X
y
también incluye las variables que no se utilizan para ajustar el modelo como predictores o como respuesta.Variables
Tipos de datos: table
CompactLinearModel
compact | Compact linear regression model |
addTerms | Add terms to linear regression model |
removeTerms | Remove terms from linear regression model |
step | Improve linear regression model by adding or removing terms |
plot | Scatter plot or added variable plot of linear regression model |
plotAdded | Added variable plot of linear regression model |
plotAdjustedResponse | Adjusted response plot of linear regression model |
plotDiagnostics | Plot observation diagnostics of linear regression model |
plotEffects | Plot main effects of predictors in linear regression model |
plotInteraction | Plot interaction effects of two predictors in linear regression model |
plotPartialDependence | Create partial dependence plot (PDP) and individual conditional expectation (ICE) plots |
plotResiduals | Plot residuals of linear regression model |
plotSlice | Plot of slices through fitted linear regression surface |
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
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.tStat
t 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.pValue
pt 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 observations
NaN
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 observations
MPG
NaN
Horsepower
NaN
X
MPG
— – , donde está el número de observaciones y está el número de coeficientes en el modelo, incluida la interceptación.Error degrees of freedom
n 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-squared
Adjusted R-squared
Por ejemplo, el valor sugiere que el modelo explica aproximadamente el 75% de la variabilidad en la variable de respuesta.R-squared
MPG
— 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 model
F
— -value para la prueba en el modelo.p-value
pF 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.NumObservations
DFE
RMSE
Rsquared
anova
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 .carsmall
MPG
Model_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
Dónde Model_Year
La variable incluye tres valores distintos, que puede comprobar mediante la función.Model_Year
unique
unique(Model_Year)
ans = 3×1
70
76
82
elige el valor más pequeño como nivel de referencia ( ) y crea dos variables indicadorasfitlm
Model_Year
'70'
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
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.Year
fitlm
'70'
Reordenar mediante la función.Year
reordercats
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 .MPG
Year_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'
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.mdl2
p Cada valor examina cada variable de indicador.p Para examinar la variable categórica como un grupo de variables indicadoras, utilice .Model_Year
anova
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_Year
p
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 .ingredients
heat
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 .ingredients
heat
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.stepwiselm
x4
x1
x2
pPEnter
stepwiselm
x4
x2
px4
PRemove
Una matriz de términos es una matriz -by-( + 1) que especifica términos en un modelo, donde es el número de términos, es el número de variables predictoras y +1 cuenta para la variable de respuesta.T
tptp El valor de es el exponente de variable en el término .T(i,j)
j
i
Por ejemplo, supongamos que una entrada incluye tres variables predictoras , , y la variable de respuesta en el orden , , , y .A
B
C
Y
A
B
C
Y
Cada fila de representa un término:T
— Término constante o interceptación[0 0 0 0]
— ; Equivalente[0 1 0 0]
B
A^0 * B^1 * C^0
[1 0 1 0]
— A*C
[2 0 0 0]
— A^2
[0 1 2 0]
— B*(C^2)
Al final de cada término representa la variable de respuesta.0
En general, un vector de columna de ceros en una matriz de términos representa la posición de la variable de respuesta. Si tiene las variables predictor y de respuesta en una matriz y un vector de columna, debe incluir para la variable de respuesta en la última columna de cada fila.0
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 .fitrlinear
lasso
ridge
plsregress
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
Usage notes and limitations:
el predict
Y random
las funciones admiten la generación de código.
Cuando se ajusta un modelo mediante o , no se pueden proporcionar datos de entrenamiento en una tabla que contiene un vector lógico, matriz de caracteres, matriz categórica, matriz de cadenas o matriz de celdas de vectores de caracteres.fitlm
stepwiselm
Además, no puede utilizar el argumento de par nombre-valor.'CategoricalVars'
La generación de código no admite predictores categóricos. Para incluir predictores categóricos en un modelo, preprocese previamente los predictores categóricos utilizando antes de ajustar el modelo.dummyvar
Para obtener más información, consulte .Introduction to Code Generation
Existe una versión modificada de este ejemplo en su sistema. ¿Prefiere abrir esta versión?
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.