Iterated principal factors estimation of the factor model.

Syntax

factor_name.ipf(options) x1 [x2 x3...] [@partial z1 z2 z3...]

factor_name.ipf(options) matrix_name [[obs] [conditioning]] [@ name1 name2 name3...]

The first method computes the observed dispersion matrix from a set of series or group objects. Simply append a period and the ipf keyword to the name of your object, followed by the names of your series and groups, You may optionally use the keyword @partial and append a list of conditioning series.

In the second method you will provide the name of the observed dispersion matrix, and optionally, the number of observations and the rank of the set of conditioning variables. If the latter is not provided, it will be set to 1 (representing the constant in the standard centered variance calculations). You may also provide names for the columns of the correlation matrix by entering the @-sign followed by a list of valid series names.

Options

Estimation Options

heywood=arg (default=“stop”) | Method for handling Heywood cases (negative uniqueness estimates): “stop” (stop and report final results), “last” (stop and report previous iteration results”, “reset” (set negative uniquenesses to zero and continue), “ignore” (ignore and continue). |

maxit=integer | Maximum number of iterations. |

conv=scalar | Set convergence criterion. The criterion is based upon the maximum of the percentage changes in the scaled estimates. The criterion will be set to the nearest value between 1e-24 and 0.2. |

showopts / ‑showopts | [Do / do not] display the starting coefficient values and estimation options in the rotation output. |

prompt | Force the dialog to appear from within a program. |

p | Print basic estimation results. |

Number of Factors Options

n=arg (default=“map”) | Number of factors: “kaiser” (Kaiser-Guttman greater than mean), “mineigen” (Minimum eigenvalue criterion; specified using “eiglimit”), “varfrac” (fraction of variance accounted for; specified using “varlimit”), “map” (Velicer’s Minimum Average Partial method), “bstick” (comparison with broken stick distribution), “parallel” (parallel analysis: number of replications specified using “pnreps”; “pquant” indicates the quantile method value if employed), “scree” (standard error scree method), integer (user-specified integer value). |

eiglimit=number (default=1) | Limit value for retaining factors using the eigenvalue comparison (where “n=mineigen”). |

varlimit=number (default=0.5) | Fraction of total variance explained limit for retaining factors using the variance limit criterion (where “n=varlimit”). |

porig | Use the unreduced matrix for parallel analysis (the default is to use the reduced matrix). For parallel analysis only (“n=parallel”). |

preps= integer (default=100) | Number of parallel analysis repetitions. For parallel analysis only (“n=parallel”). |

pquant=number | Quantile value for parallel analysis comparison (if not specified, the mean value will be employed). For parallel analysis only (“n=parallel”). |

pseed=positive integer | Seed the random number generator for parallel analysis. If not specified, EViews will seed the random number generator with a single integer draw from the default global random number generator. For parallel analysis only (“n=parallel”). |

Type of random number generator for the simulation: improved Knuth generator (“kn”), improved Mersenne Twister (“mt”), Knuth’s (1997) lagged Fibonacci generator used in EViews 4 (“kn4”) L’Ecuyer’s (1999) combined multiple recursive generator (“le”), Matsumoto and Nishimura’s (1998) Mersenne Twister used in EViews 4 (“mt4”). For parallel analysis only (“n=parallel”). |

Initial Communalities Options

priors=arg | Method for obtaining initial communalities: “smc” (squared multiple correlations), “max” (maximum absolute correlation”), “pace” (noniterative partitioned covariance estimation), “frac” (fraction of the diagonals of the original matrix; specified using “priorfrac=”), “random” (random fractions of the original diagonals), “user” (user-specified vector; specified using “priorunique”). |

priorfrac=number | User-specified common fraction (between 0 and 1) to be used when “priors=frac”. |

priorunique=arg | Vector of initial uniqueness estimates to be used when “priors=user”. By default, the values will be taken from the corresponding elements of the coefficient vector C. |

Covariance Options

cov=arg (default=“cov”) | Covariance calculation method: ordinary (Pearson product moment) covariance (“cov”), ordinary correlation (“corr”), Spearman rank covariance (“rcov”), Spearman rank correlation (“rcorr”), Kendall’s tau-b (“taub”), Kendall’s tau-a (“taua”), uncentered ordinary covariance (“ucov”), uncentered ordinary correlation (“ucorr”). User-specified covariances are indicated by specifying a sym matrix object in place of a list of series or groups in the command. |

wgt=name (optional) | Name of series containing weights. |

wgtmethod=arg (default = “sstdev”) | Weighting method (when weights are specified using “weight=”): frequency (“freq”), inverse of variances (“var”), inverse of standard deviation (“stdev”), scaled inverse of variances (“svar”), scaled inverse of standard deviations (“sstdev”). Only applicable for ordinary (Pearson) calculations. Weights specified by “wgt=” are frequency weights for rank correlation and Kendall’s tau calculations. |

pairwise | Compute using pairwise deletion of observations with missing cases (pairwise samples). |

df | Compute covariances with a degree-of-freedom correction for the mean (for centered specifications), and any partial conditioning variables. |

Examples

factor f1.ipf(n=2, maxit=4) var1 var2 var3 var4

declares the factor object F1 then extracts two factors from the variables VAR1–VAR4 by the iterative principal factor method, with a maximum of four iterations.

f1.ipf(conv=1e-9, heywood=reset) group01

sets the convergence criterion to 1e-9, and estimates the factor model for the series in GROUP01. If encountered, negative uniqueness estimates will be set to zero and the estimation will proceed.

f1.ipf(conv=1e-9, heywood=reset) group01 @partial ser1 ser2

estimates the same specification using the partial correlation for GROUP01, conditional on the series SER1 and SER2.

f1.ipf(n=parallel) sym01 424

estimates the iterative principal factor model using the observed matrix SYM01. The number of observations is 424, and the number of factors is determined using parallel analysis.

Cross-references

See “Factor Analysis” for a general discussion of factor analysis. The various estimation methods are described in “Estimation Methods”.