- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Generating random data based on correlation matrix
Is there a method to have JMP generate random data that fits a specified correlation matrix. I want to be able to specify the desired correlation matrix (and sample size), and generate random (multivariate normal) data that is based on the specified matrix.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Generating random data based on correlation matrix
Yes, although you have to use the attached script, or something similar. Open the script, then edit the matrix, means and number of samples desired, and then run the script. It will create a datatable housing the samples.
Cheers,
Brady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Generating random data based on correlation matrix
You can use the Simulator in the Profiler to generate this data for you.
Start by creating a data table with a column for each of your covariates.
Then create a column with a formula that simply sums those covariates. Really, this formula can be anything that references all of the covariate columns, we're only using this column to get to the Profiler. The example table attached here shows what I mean.
Launch the Profiler with your formula column.
Then turn on the Simulator.
Set each of your covariates to Multivariate. Set the Mean and SD for each covariate, then in X Correlations Specification outline node you can enter the correlation coefficients.
Set the N Runs field to the number of rows you want to simulate and open the Simulate to Table node and click the Make Table button.
For my example here's a Scatterplot matrix for the simulated data.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Generating random data based on correlation matrix
Yes, although you have to use the attached script, or something similar. Open the script, then edit the matrix, means and number of samples desired, and then run the script. It will create a datatable housing the samples.
Cheers,
Brady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Generating random data based on correlation matrix
You can use the Simulator in the Profiler to generate this data for you.
Start by creating a data table with a column for each of your covariates.
Then create a column with a formula that simply sums those covariates. Really, this formula can be anything that references all of the covariate columns, we're only using this column to get to the Profiler. The example table attached here shows what I mean.
Launch the Profiler with your formula column.
Then turn on the Simulator.
Set each of your covariates to Multivariate. Set the Mean and SD for each covariate, then in X Correlations Specification outline node you can enter the correlation coefficients.
Set the N Runs field to the number of rows you want to simulate and open the Simulate to Table node and click the Make Table button.
For my example here's a Scatterplot matrix for the simulated data.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Generating random data based on correlation matrix
Works great! Thanks.