I want to create a random sample of length n from a normal multivariate distribution
$begingroup$
This may sound like a stupid question, but I have a problem in understanding this question, especially this part:
"generate a random sample of length n from a normal multivariate"
This is what I have done using the R package mvtnorm:
my_function <- function(n=1,k){
mean = rep(0,k)
sigma = diag(length(mean))
rmvnorm(n, mean, sigma,method=c("eigen", "svd", "chol"), pre0.9_9994 = FALSE)}
using_rmvnorm(3)
This way the output of my function is, in this example, a vector of three numbers which in my mind is a sample of length 3. Is this correct? Is there another way to do this?
I am asking this question because I have to do the same without using the library rmvnorm and with a normal bivariate.
I just managed to write the density function:
dbivnorm <- function(x,y,mux=0,muy=0,sigmax=1,sigmay=1,rho=0){
(2*pi)^(-1) * ((1-rho^2)*sigmax^2*sigmay^2)^(-.5) *
exp( -((x-mux)^2/(sigmax^2) -2*rho*((x-mux)/sigmax *(y-muy)/sigmay) +
(y-muy)^2/(sigmay^2))/(2*(1-rho^2)) )
}
But now I am not sure how to proceed.
statistics
$endgroup$
add a comment |
$begingroup$
This may sound like a stupid question, but I have a problem in understanding this question, especially this part:
"generate a random sample of length n from a normal multivariate"
This is what I have done using the R package mvtnorm:
my_function <- function(n=1,k){
mean = rep(0,k)
sigma = diag(length(mean))
rmvnorm(n, mean, sigma,method=c("eigen", "svd", "chol"), pre0.9_9994 = FALSE)}
using_rmvnorm(3)
This way the output of my function is, in this example, a vector of three numbers which in my mind is a sample of length 3. Is this correct? Is there another way to do this?
I am asking this question because I have to do the same without using the library rmvnorm and with a normal bivariate.
I just managed to write the density function:
dbivnorm <- function(x,y,mux=0,muy=0,sigmax=1,sigmay=1,rho=0){
(2*pi)^(-1) * ((1-rho^2)*sigmax^2*sigmay^2)^(-.5) *
exp( -((x-mux)^2/(sigmax^2) -2*rho*((x-mux)/sigmax *(y-muy)/sigmay) +
(y-muy)^2/(sigmay^2))/(2*(1-rho^2)) )
}
But now I am not sure how to proceed.
statistics
$endgroup$
$begingroup$
If you don't get good responses here, you could try Stats SE or SO.
$endgroup$
– user21820
Jan 12 at 9:54
add a comment |
$begingroup$
This may sound like a stupid question, but I have a problem in understanding this question, especially this part:
"generate a random sample of length n from a normal multivariate"
This is what I have done using the R package mvtnorm:
my_function <- function(n=1,k){
mean = rep(0,k)
sigma = diag(length(mean))
rmvnorm(n, mean, sigma,method=c("eigen", "svd", "chol"), pre0.9_9994 = FALSE)}
using_rmvnorm(3)
This way the output of my function is, in this example, a vector of three numbers which in my mind is a sample of length 3. Is this correct? Is there another way to do this?
I am asking this question because I have to do the same without using the library rmvnorm and with a normal bivariate.
I just managed to write the density function:
dbivnorm <- function(x,y,mux=0,muy=0,sigmax=1,sigmay=1,rho=0){
(2*pi)^(-1) * ((1-rho^2)*sigmax^2*sigmay^2)^(-.5) *
exp( -((x-mux)^2/(sigmax^2) -2*rho*((x-mux)/sigmax *(y-muy)/sigmay) +
(y-muy)^2/(sigmay^2))/(2*(1-rho^2)) )
}
But now I am not sure how to proceed.
statistics
$endgroup$
This may sound like a stupid question, but I have a problem in understanding this question, especially this part:
"generate a random sample of length n from a normal multivariate"
This is what I have done using the R package mvtnorm:
my_function <- function(n=1,k){
mean = rep(0,k)
sigma = diag(length(mean))
rmvnorm(n, mean, sigma,method=c("eigen", "svd", "chol"), pre0.9_9994 = FALSE)}
using_rmvnorm(3)
This way the output of my function is, in this example, a vector of three numbers which in my mind is a sample of length 3. Is this correct? Is there another way to do this?
I am asking this question because I have to do the same without using the library rmvnorm and with a normal bivariate.
I just managed to write the density function:
dbivnorm <- function(x,y,mux=0,muy=0,sigmax=1,sigmay=1,rho=0){
(2*pi)^(-1) * ((1-rho^2)*sigmax^2*sigmay^2)^(-.5) *
exp( -((x-mux)^2/(sigmax^2) -2*rho*((x-mux)/sigmax *(y-muy)/sigmay) +
(y-muy)^2/(sigmay^2))/(2*(1-rho^2)) )
}
But now I am not sure how to proceed.
statistics
statistics
asked Jan 8 at 15:36
qcc101qcc101
597213
597213
$begingroup$
If you don't get good responses here, you could try Stats SE or SO.
$endgroup$
– user21820
Jan 12 at 9:54
add a comment |
$begingroup$
If you don't get good responses here, you could try Stats SE or SO.
$endgroup$
– user21820
Jan 12 at 9:54
$begingroup$
If you don't get good responses here, you could try Stats SE or SO.
$endgroup$
– user21820
Jan 12 at 9:54
$begingroup$
If you don't get good responses here, you could try Stats SE or SO.
$endgroup$
– user21820
Jan 12 at 9:54
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
In Mathematica:
n = 4;
RandomVariate[
MultinormalDistribution[ConstantArray[0, n], IdentityMatrix[n]], 3]
$endgroup$
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3066316%2fi-want-to-create-a-random-sample-of-length-n-from-a-normal-multivariate-distribu%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
In Mathematica:
n = 4;
RandomVariate[
MultinormalDistribution[ConstantArray[0, n], IdentityMatrix[n]], 3]
$endgroup$
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
add a comment |
$begingroup$
In Mathematica:
n = 4;
RandomVariate[
MultinormalDistribution[ConstantArray[0, n], IdentityMatrix[n]], 3]
$endgroup$
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
add a comment |
$begingroup$
In Mathematica:
n = 4;
RandomVariate[
MultinormalDistribution[ConstantArray[0, n], IdentityMatrix[n]], 3]
$endgroup$
In Mathematica:
n = 4;
RandomVariate[
MultinormalDistribution[ConstantArray[0, n], IdentityMatrix[n]], 3]
answered Jan 8 at 15:41
David G. StorkDavid G. Stork
10.9k31432
10.9k31432
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
add a comment |
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
$begingroup$
So in your case n = 4 is the length of the sample and 3 is the number of samples you wanted to generate?
$endgroup$
– qcc101
Jan 8 at 16:02
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3066316%2fi-want-to-create-a-random-sample-of-length-n-from-a-normal-multivariate-distribu%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
If you don't get good responses here, you could try Stats SE or SO.
$endgroup$
– user21820
Jan 12 at 9:54