Necesito generar una lista de variables aleatorias $\bf{x}$ sujetas a restricciones que pueden expresarse en la forma $\bf{E}x=b$ donde $\bf{E}$ es una matriz de $m \times n$ si $\bf{x}$ tiene $n$ entradas. En todos los casos con los que estoy tratando, $n >> m$, por ejemplo, $n$ será alrededor de 14,000 y $m$ será 50. No estoy seguro de qué método usar para el muestreo aleatorio, ya sea normal o uniforme, no está claro cuál es el mejor para el problema que estoy tratando de resolver, pero necesito que todas las variables se muestreen de distribuciones con la misma media y rango/varianza.
Lo que he estado haciendo para resolver esto es reducir $\bf{E}$ a forma escalonada por filas, establecer todos las variables correspondientes a columnas a la derecha de la última pivote a valores aleatorios, y luego resolver la matriz cuadrada restante de igualdad.
Sin embargo, hay un problema, para resolver la igualdad de la matriz cuadrada, resto los valores ya establecidos del lado derecho. Desafortunadamente, las varianzas también se suman, por lo que mis últimas 50 valores tienden a variar enormemente, lo cual es lamentablemente inaceptable en este problema.
¿Hay una mejor manera de hacer esto? No puedo pensar en una forma de arreglar el método actual que estoy utilizando. Uso R.
2 votos
Desafortunadamente, no podrás hacer esto, a menos que tengas mucha suerte con tu matriz de restricciones. Por ejemplo, considera una matriz de restricciones con dos filas, una entrada distinta de cero en la primera fila que restringe $x_1 = 0$ y dos entradas distintas de cero en la segunda fila que restringen $x_2+x_3 = 1$. Obviamente, $x_1$ tendrá una media diferente que al menos uno de $x_2$ y $x_3, y a menos que fijes las varianzas para $x_2$ y $x_3 = 0$, también una varianza diferente.