Computing polychoric and polyserial correlations between random variables using norta
AssigneeInternational Business Machines Corporation
InventorVladimir E. Shklover
Life of this patent
Estimating the term…
Abstract
Polychoric correlations between two discrete random variables and polyserial correlations between a discrete random variable and a continuous random variable may be determined by using a normal-to-anything (NORTA) method and a stochastic root finding algorithm.
Claims30
A method for determining a polychoric correlation between a first discrete variable and a second discrete variable, the method comprising:
- if a first discrete variable is without a first known distribution, approximating a first distribution for the first discrete variable;
- if a second discrete variable is without a second known distribution, approximating a second distribution for the second discrete variable;
- transforming a first normally distributed variable to a first transformed variable by simulating values of the first normally distributed variable and discrete mapping from the first normally distributed variable to one of the first known distribution and the approximated first distribution for the first discrete variable based at least in part on the simulated values of the first normally distributed variable;
- transforming a second normally distributed variable to a second transformed variable by simulating values of the second normally distributed variable and discrete mapping from the second normally distributed variable to one of the second known distribution and the approximated second distribution for the second discrete variable based at least in part on the simulated values of the second normally distributed variable;
- and
- determining, by a computing device, a polychoric correlation between the first discrete variable and the second discrete variable by using a stochastic root finding algorithm to operate on the first transformed variable and the second transformed variable.
A computer system for determining a polychoric correlation between a first discrete variable and a second discrete variable, the computer system comprising:
- one or more processors;
- one or more computer-readable memories;
- one or more computer-readable tangible storage devices;
- program instructions stored on at least one of the one or more computer-readable tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories to:
- if a first discrete variable is without a first known distribution, approximate a first distribution for the first discrete variable;
- if a second discrete variable is without a second known distribution, approximate a second distribution for the second discrete variable;
- transform a first normally distributed variable to a first transformed variable by simulating values of the first normally distributed variable and discrete mapping from the first normally distributed variable to one of the first known distribution and the approximated first distribution for the first discrete variable based at least in part on the simulated values of the first normally distributed variable;
- transform a second normally distributed variable to a second transformed variable by simulating values of the second normally distributed variable and discrete mapping from the second normally distributed variable to one of the second known distribution and the approximated second distribution for the second discrete variable based at least in part on the simulated values of the second normally distributed variable;
- and
- determine a polychoric correlation between the first discrete variable and the second discrete variable by using a stochastic root finding algorithm to operate on the first transformed variable and the second transformed variable.
A computer program product for determining a polychoric correlation between a first discrete variable and a second discrete variable, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code readable/executable by at least one processor to perform a method comprising:
- if a first discrete variable is without a first known distribution, approximating a first distribution for the first discrete variable;
- if a second discrete variable is without a second known distribution, approximating a second distribution for the second discrete variable;
- transforming a first normally distributed variable to a first transformed variable by simulating values of the first normally distributed variable and discrete mapping from the first normally distributed variable to one of the first known distribution and the approximated first distribution for the first discrete variable based at least in part on the simulated values of the first normally distributed variable;
- transforming a second normally distributed variable to a second transformed variable by simulating values of the second normally distributed variable and discrete mapping from the second normally distributed variable to one of the second known distribution and the approximated second distribution for the second discrete variable based at least in part on the simulated values of the second normally distributed variable;
- and
- determining a polychoric correlation between the first discrete variable and the second discrete variable by using a stochastic root finding algorithm to operate on the first transformed variable and the second transformed variable.
A method for determining a polyserial correlation between a discrete variable and a continuous variable, the method comprising:
- if a discrete variable is without a known discrete distribution, approximating a discrete distribution for the discrete variable;
- if a continuous variable is without a prescribed continuous distribution, approximating a continuous distribution for the continuous variable;
- if the discrete variable is with a prescribed discrete distribution, transforming a normally distributed variable that is underlying for continuous to a transformed continuous variable by simulating values of the normally distributed variable that is underlying for continuous and continuously mapping the normally distributed variable that is underlying for continuous to the prescribed discrete distribution based at least in part on the simulated values of the normally distributed variable that is underlying for continuous;
- transforming a normally distributed variable that is underlying for discrete to a transformed discrete variable by simulating values of the normally distributed variable that is underlying for discrete and discrete mapping from the normally distributed variable that is underlying for discrete to one of the known discrete distribution and the approximated discrete distribution for the discrete variable based at least in part on the simulated values of the normally distributed variable that is underlying for discrete;
- and
- determining, by a computing device, a polyserial correlation between the discrete variable and the continuous variable by using a stochastic root finding algorithm to compute a correlation between underlying normal distributions of the transformed discrete variable and one of the continuous variable having the approximated continuous distribution and the transformed continuous variable.
A computer system for determining a polyserial correlation between a discrete variable and a continuous variable, the computer system comprising:
- one or more processors;
- one or more computer-readable memories;
- one or more computer-readable tangible storage devices;
- program instructions stored on at least one of the one or more computer-readable tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories to:
- if a discrete variable is without a known discrete distribution, approximate a discrete distribution for the discrete variable;
- if a continuous variable is without a prescribed continuous distribution, approximate a continuous distribution for the continuous variable;
- if the discrete variable is with a prescribed discrete distribution, transform a normally distributed variable that is underlying for continuous to a transformed continuous variable by simulating values of the normally distributed variable that is underlying for continuous and continuously mapping the normally distributed variable that is underlying for continuous to the prescribed discrete distribution based at least in part on the simulated values of the normally distributed variable that is underlying for continuous;
- transform a normally distributed variable that is underlying for discrete to a transformed discrete variable by simulating values of the normally distributed variable that is underlying for discrete and discrete mapping from the normally distributed variable that is underlying for discrete to one of the known discrete distribution and the approximated discrete distribution for the discrete variable based at least in part on the simulated values of the normally distributed variable that is underlying for discrete;
- and
- determine a polyserial correlation between the discrete variable and the continuous variable by using a stochastic root finding algorithm to compute a correlation between underlying normal distributions of the transformed discrete variable and one of the continuous variable having the approximated continuous distribution and the transformed continuous variable.
A computer program product for determining a polyserial correlation between a discrete variable and a continuous variable, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code readable/executable by at least one processor to perform a method comprising:
- if a discrete variable is without a known discrete distribution, approximating a discrete distribution for the discrete variable;
- if a continuous variable is without a prescribed continuous distribution, approximating a continuous distribution for the continuous variable;
- if the discrete variable is with a prescribed discrete distribution, transforming a normally distributed variable that is underlying for continuous to a transformed continuous variable by simulating values of the normally distributed variable that is underlying for continuous and continuously mapping the normally distributed variable that is underlying for continuous to the prescribed discrete distribution based at least in part on the simulated values of the normally distributed variable that is underlying for continuous;
- transforming a normally distributed variable that is underlying for discrete to a transformed discrete variable by simulating values of the normally distributed variable that is underlying for discrete and discrete mapping from the normally distributed variable that is underlying for discrete to one of the known discrete distribution and the approximated discrete distribution for the discrete variable based at least in part on the simulated values of the normally distributed variable that is underlying for discrete;
- and
- determining a polyserial correlation between the discrete variable and the continuous variable by using a stochastic root finding algorithm to compute a correlation between underlying normal distributions of the transformed discrete variable and one of the continuous variable having the approximated continuous distribution and the transformed continuous variable.
The computer program product of 26, wherein approximating the discrete function for the discrete variable further comprises:
- approximating an empirical distribution function for the discrete variable.
The computer program product of 26, wherein approximating the discrete function for the discrete variable further comprises:
- performing distribution fitting of possible discrete distributions on the discrete variable.
Dependencies are inferred from the claim text.