Existem duas situações típicas diferentes para esse tipo de problemas:
i) você deseja gerar uma amostra a partir de uma determinada distribuição cujas características da população correspondem às especificadas (mas devido à variação da amostra, você não tem as características da amostra exatamente correspondentes).
ii) você deseja gerar uma amostra cujas características correspondam às especificadas (mas, devido às restrições de corresponder exatamente as quantidades da amostra a um conjunto de valores pré-especificado, na verdade não provém da distribuição desejada).
Você deseja o segundo caso - mas obtém-o seguindo a mesma abordagem do primeiro caso, com uma etapa extra de padronização.
Portanto, para normais multivariados, isso pode ser feito de uma maneira bastante direta:
No primeiro caso, você poderia usar normais aleatórios sem a estrutura da população (como o padrão normal iid, que tem expectativa 0 e matriz de covariância de identidade) e depois impor - transformar para obter a matriz de covariância e o que você deseja. Se e são a média da população e a covariância de que você precisa e são o seu padrão normal, você calcula , para alguns que (por exemplo, um adequado pode ser obtido por meio da decomposição de Cholesky) . Então tem as características desejadas da população.μΣzy= L z+ μeuL L′= Σeuy
Com o segundo, você deve primeiro transformar suas normais aleatórias para remover até mesmo a variação aleatória da média de zero e covariância de identidade (tornando a amostra média zero e covariância amostral ) e, em seguida, proceder como antes. Mas essa etapa inicial de remover o desvio da amostra da média exata , a variação interfere na distribuição. (Em amostras pequenas, pode ser bastante grave.)Eun0 0Eu
Isso pode ser feito subtraindo a média da amostra de ( ) e calculando a decomposição de Cholesky de . Se é o fator de Cholesky à esquerda, então deve ter média de amostra 0 e covariância de amostra de identidade. Você pode então calcular e ter uma amostra com os momentos desejados. (Dependendo de como suas quantidades de amostra são definidas, pode haver um pequeno violino envolvido na multiplicação / divisão por fatores como , mas é fácil identificar essa necessidade.)zz∗= z- z¯z∗eu∗z( 0 )= ( L∗)- 1z∗y= L z( 0 )+ μn - 1n---√