random
Simular respuestas con ruido aleatorio para un modelo de regresión lineal
Sintaxis
Descripción
Ejemplos
Simular datos de respuesta con ruido aleatorio
Cree un modelo cuadrático del consumo de un vehículo como una función de ponderación a partir del conjunto de datos carsmall
.
load carsmall X = Weight; y = MPG; mdl = fitlm(X,y,'quadratic');
Cree respuestas simuladas a los datos con ruido aleatorio.
ysim = random(mdl,X);
Represente las respuestas originales y las respuestas simuladas para ver en qué difieren.
plot(X,y,'o',X,ysim,'x') legend('Data','Simulated')
Argumentos de entrada
mdl
— Objeto de modelo de regresión lineal
objeto LinearModel
| objeto CompactLinearModel
Objeto de modelo de regresión lineal, especificado como un objeto LinearModel
creado utilizando fitlm
o stepwiselm
, o un objeto CompactLinearModel
creado utilizando compact
.
Xnew
— Nuevos valores predictores de entrada
tabla | arreglo de conjuntos de datos | matriz
Nuevos valores predictores de entrada, especificados como una tabla, un arreglo de conjunto de datos o una matriz. Cada fila de Xnew
corresponde a una observación y cada columna, a una variable.
Si
Xnew
es una tabla o un arreglo de conjuntos de datos, debe contener predictores que tengan los mismos nombres de predictor que en la propiedadPredictorNames
demdl
.Si
Xnew
es una matriz, debe tener el mismo número de variables (columnas) y en el mismo orden que la entrada de predictores utilizada para crearmdl
. Tenga en cuenta queXnew
también debe contener las variables predictoras que no se utilicen como predictores en el modelo ajustado. Además, todas las variables empleadas en la creación demdl
deben ser numéricas. Para tratar predictores numéricos como variables categóricas, identifique los predictores mediante el argumento de par nombre-valor'CategoricalVars'
al crearmdl
.
Tipos de datos: single
| double
| table
Argumentos de salida
ysim
— Valores de respuesta simulados
vector numérico
Valor de respuesta simulado, devuelto como vector numérico. El valor simulado son los valores de respuesta predichos en Xnew
alterados por ruido aleatorio. El ruido es independiente y está distribuido normalmente, con media igual a cero y varianza igual a la varianza del error estimado del modelo.
Funcionalidad alternativa
Para realizar predicciones sin ruido aleatorio, utilice predict
o feval
. Estas dos funciones dan las mismas predicciones.
predict
acepta un único argumento de entrada que contiene todas las variables predictoras y proporciona intervalos de confianza en sus predicciones.feval
acepta múltiples argumentos de entrada con una entrada para cada variable predictora.
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
Use
saveLearnerForCoder
,loadLearnerForCoder
ycodegen
(MATLAB Coder) para generar código para la funciónrandom
. Guarde un modelo entrenado consaveLearnerForCoder
. Defina una función de punto de entrada que cargue el modelo guardado utilizandoloadLearnerForCoder
y llame a la funciónrandom
. Después, usecodegen
para generar código para la función de punto de entrada.random
puede devolver una secuencia de números diferente de la de MATLAB® si alguna de las siguientes opciones es verdadera:La salida no es un escalar.
Un parámetro de entrada no es válido para la distribución.
Esta tabla contienes notas sobre los argumentos de
random
. Los argumentos no incluidos en esta tabla son totalmente compatibles.Argumento Notas y limitaciones mdl
Supongamos que entrena un modelo lineal utilizando
fitlm
y especificando'RobustOpts'
como una estructura con un identificador de función anónima para el campoRobustWgtFun
; usesaveLearnerForCoder
para guardar el modelo y, luego, useloadLearnerForCoder
para cargar el modelo. En este caso,loadLearnerForCoder
no puede restaurar la propiedad Robust al área de trabajo de MATLAB. No obstante,loadLearnerForCoder
puede cargar el modelo en el momento de la compilación dentro de una función de punto de entrada para la generación de código.Para ver las notas y limitaciones del objeto de modelo, consulte Code Generation del objeto
CompactLinearModel
.
Xnew
Xnew
debe ser una matriz de precisión simple o doble, o una tabla que contenga variables numéricas, variables categóricas o ambas.El número de filas, u observaciones, de
Xnew
puede ser de tamaño variable, pero el número de columnas deXnew
debe ser fijo.Si desea especificar
Xnew
como una tabla, el modelo se debe entrenar utilizando una tabla y debe asegurarse de que la función de punto de entrada para la predicción:Acepta datos como arreglos.
Crea una tabla a partir de los argumentos de entrada de datos y especifica los nombres de las variables en la tabla.
Pasa la tabla a
predict
.
Para ver un ejemplo del flujo de trabajo de esta tabla, consulte Generate Code to Classify Data in Table. Para obtener más información sobre el uso de tablas en la generación de código, consulte Code Generation for Tables (MATLAB Coder) y Table Limitations for Code Generation (MATLAB Coder).
Para obtener más información, consulte Introduction to Code Generation.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Historial de versiones
Introducido en R2012a
Comando de MATLAB
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.
Select a Web Site
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: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)