In some situations you might want to build a common principal components model by combining data from multiple peer processes that have similar patterns of stable variation. This enables you to borrow strength from the data. A common set of control limits is then computed for each of the peer processes.
This example uses observations from all regions at each time point to construct a common principal components model, and it then applies the model to flight data for one region of the U.S.
proc mvpmodel data=flightDelays ncomp=3 plots=none timegroup=flightDate out=mvpair outloadings=mvpairloadings; var AA CO DL F9 FL NW UA US WN; run; proc mvpmonitor history=mvpair(where=(region='MW')) loadings=mvpairloadings; time flightDate; id flightDate; tsquarechart; spechart; run;
In this example, the DATA= input data set contains observations from all regions, and there are multiple observations (one for each region) at each time point as defined by the TIMEGROUP= variable. The OUTLOADINGS= data set contains the model information. This model information is then applied to the data from the Midwest region, and the and SPE charts are produced. The SPE chart is shown in Output 11.1.1, and the chart is shown in Output 11.1.2.
The control limits for the SPE chart are computed differently than in a model with one observation per time point. Compared to Output 11.3, the control limits in Output 11.1.1 are different. The control limits are based on different reference distributions for the SPE statistics in addition to different approximations to the reference distribution. See the section Computation of SPE Control Limits for more information.
The chart is shown in Output 11.1.2.
This process is stable. The model is used in Creating Multivariate Control Charts for Phase II.
If you want to make control charts for all of the peer processes (regions in this example), then you sort the data set output from the OUT= option in PROC MVPMODEL before using the data set in the HISTORY= option in PROC MVPMONITOR. In the MVPMONITOR procedure, you use the BY statement to produce the charts for each peer process.
proc mvpmodel data=flightDelays ncomp=3 plots=none timegroup=flightDate out=mvpair outloadings=mvpairloadings; var AA CO DL F9 FL NW UA US WN; run; proc sort data=mvpair; by region; run; proc mvpmonitor history=mvpair; by region; time flightDate; id flightDate; tsquarechart; spechart; run;
Note: This procedure is experimental.