Lu-Yi-Hsun
10/18/2017 - 11:31 AM

sas 橢圓

用橢圓把數據包起來

data a ;input x1-x5;

cards;
0.0130338       -0.0078431      -0.0031889      -0.0447693      0.0052151
0.0084862       0.0166886       -0.0062100      0.0119560       0.0134890
-0.0179153      -0.0086393      0.0100360       0.0000000       -0.0061428
0.0215589       -0.0034858      0.0174353       -0.0285917      -0.0069534
0.0108225       0.0037167       -0.0101345      0.0291900       0.0409751
0.0101713       -0.0121978      -0.0083768      0.0137083       0.0029895
0.0111288       0.0280044       0.0080721       0.0305433       0.0032290
0.0484801       -0.0051480      0.0182495       0.0063348       0.0076752
-0.0344914      -0.0137991      -0.0080468      -0.0299011      -0.0108108
-0.0046596      0.0209882       -0.0060841      -0.0203940      -0.0126677
-0.0018205      -0.0055675      -0.0107587      -0.0089898      -0.0183648
0.0148515       0.0346684       -0.0060004      0.0362855       0.0287032
-0.0092426      -0.0052029      0.0047161       0.0264916       0.0129547
-0.0458668      -0.0278243      -0.0142696      0.0374776       0.0332022
-0.0244432      -0.0182914      0.0059048       -0.0259572      -0.0202333
-0.0183742      -0.0140289      0.0011361       0.0073284       -0.0097182
-0.0297788      -0.0284571      -0.0164555      0.0310847       0.0164377
-0.0225080      -0.0228833      0.0344231       -0.0062006      0.0067584
0.0119617       -0.0067916      0.0185908       -0.0193632      -0.0153440
0.0209811       0.0240509       0.0129586       0.0355419       0.0150962
0.0118669       0.0025328       -0.0036036      0.0021186       0.0028784
0.0140160       0.0172255       0.0003617       0.0150106       0.0141115
-0.0149506      0.0031610       -0.0001808      0.0310352       0.0226415
0.0203322       -0.0148548      -0.0182607      -0.0028283      -0.0161439
0.0112265       -0.0221613      -0.0051565      -0.0247164      0.0105485
-0.0327505      -0.0158879      -0.0037023      0.0143332       0.0164695
-0.0261119      -0.0313390      0.0156076       0.0024575       0.0082154
0.0182675       0.0156863       -0.0219539      -0.0498468      -0.0110910
0.0219907       0.0043436       0.0136551       0.0152655       0.0217441
-0.0331257      -0.0204229      -0.0101495      -0.0186362      -0.0255376
0.0213763       0.0188864       0.0210664       0.0228744       0.0013793
0.0484518       0.0440539       0.0087639       0.0160338       0.0073462
0.0276183       0.0168319       0.0104977       0.0004153       0.0043300
0.0031932       0.0024943       0.0103887       0.0228311       0.0356251
-0.0010610      0.0085953       -0.0023046      -0.0040584      0.0065732
-0.0037175      -0.0060552      0.0035537       0.0114099       0.0211145
0.0023987       -0.0597924      -0.0118626      -0.0251813      -0.0110851
0.0148897       0.0163187       0.0265185       0.0200455       0.0219875
-0.0089075      -0.0068477      0.0047129       0.0129660       0.0196161
-0.0227333      -0.0140276      -0.0069493      0.0024000       -0.0165494
-0.0329997      -0.0313480      -0.0362141      0.0055866       -0.0065208
0.0302098       0.0522778       0.0317662       0.0267857       0.0105865
0.0195493       0.0395079       0.0381773       0.0216425       0.0238843
-0.0045273      0.0204825       0.0174547       0.0253452       0.0059341
-0.0446763      -0.0408118      -0.0163225      -0.0035049      -0.0008137
0.0070008       0.0060451       0.0154081       0.0320252       0.0252443
0.0100111       0.0048532       -0.0016675      -0.0050224      -0.0266084
-0.0112885      0.0057498       0.0100217       -0.0173067      -0.0024480
0.0236703       0.0155500       -0.0162064      0.0001835       -0.0069530
0.0165941       0.0457104       0.0065557       0.0284299       0.0434514
-0.0040139      -0.0118432      -0.0041750      0.0039237       -0.0136175
-0.0069855      0.0098061       0.0003354       -0.0261148      -0.0286114
-0.0154221      -0.0233060      -0.0238055      0.0113097       0.0257467
-0.0252817      0.0088378       -0.0094453      0.0075758       -0.0124498
0.0039470       0.0094174       0.0067614       0.0241676       0.0164701
0.0188149       0.0379692       0.0154985       0.0510400       0.0784157
-0.0055127      -0.0075251      -0.0111921      -0.0044903      0.0198479
-0.0260532      -0.0168492      -0.0080604      0.0432676       0.0587486
0.0128059       -0.0059983      0.0013831       0.0148919       0.0649373
0.0146108       0.0025862       0.0100138       0.0362891       0.0048395
-0.0373858      -0.0126827      -0.0114530      -0.0272533      -0.0396532
-0.0028769      -0.0195950      -0.0070897      -0.0100172      0.0262454
-0.0300058      -0.0497446      -0.0167189      -0.0507510      -0.0583157
-0.0193337      0.0021033       0.0178888       0.0154897       0.0262930
0.0172884       0.0174907       0.0022620       0.0195178       -0.0089331
-0.0163983      0.0077928       -0.0072917      -0.0358752      -0.0636054
0.0275841       0.0125085       -0.0078699      0.0196896       0.0573919
0.0176991       0.0233603       0.0216816       -0.0127639      -0.0401924
0.0034783       -0.0079017      0.0050035       0.0071275       0.0100215
-0.0323512      -0.0146018      -0.0084120      -0.0482225      -0.0628987
0.0465672       0.0410867       0.0349723       0.0152170       0.0056721
-0.0071306      -0.0107828      -0.0086986      0.0303185       0.0517014
-0.0071818      0.0058862       0.0091124       -0.0064473      0.0060779
-0.0031829      0.0017339       -0.0006689      0.0064892       0.0214996
0.0182874       -0.0038944      0.0046854       0.0619937       0.0431379
-0.0142531      -0.0106429      -0.0141572      0.0001557       -0.0450225
-0.0046270      -0.0169045      0.0089542       0.0390661       0.0027938
-0.0072632      0.0075927       0.0000000       -0.0049431      0.0186314
0.0301434       -0.0019947      0.0261219       -0.0307090      -0.0208547
-0.0071023      -0.0430824      -0.0177872      -0.0518714      0.0230447
-0.0128755      -0.0109074      -0.0066456      0.0167076       -0.0126280
0.0028986       0.0030502       -0.0073591      0.0443048       -0.0112340
-0.0265896      -0.0002339      -0.0033698      0.0615551       0.0561091
0.0068290       0.0124006       0.0076078       -0.0419997      -0.0365773
-0.0259510      -0.0240351      -0.0303691      -0.0209345      -0.0068717
0.0136240       0.0182335       0.0086520       0.0568640       0.0387476
0.0209080       0.0165116       0.0089209       -0.0230172      0.0416320
0.0049737       0.0187600       0.0023805       0.0123049       0.0078337
-0.0262009      -0.0044914      -0.0166243      -0.0096353      0.0020622
-0.0041854      0.0060907       -0.0067276      0.0134710       -0.0045908
0.0090063       -0.0022422      0.0000000       -0.0429774      -0.0620229
0.0053555       -0.0083146      0.0069469       -0.0188272      -0.0161072
0.0307783       -0.0160888      0.0031045       -0.0539478      -0.0556609
0.0373241       0.0359281       0.0252751       0.0581879       0.0169708
0.0238029       0.0031125       -0.0068757      0.0122545       0.0281715
0.0256826       0.0525266       0.0406957       -0.0316623      -0.0188482
-0.0060622      0.0086334       0.0058413       0.0445584       0.0305941
0.0217449       0.0229645       0.0291983       0.0084395       0.0319296
0.0033740       -0.0153061      -0.0238245      -0.0016738      -0.0172270
0.0033626       0.0029016       -0.0030507      -0.0012193      -0.0097005
0.0170147       0.0095061       0.0181994       -0.0161758      -0.0075614
0.0103929       -0.0026612      0.0044290       -0.0024818      -0.0164502
-0.0127948      -0.0143678      -0.0187402      -0.0049759      -0.0163732
;

proc princomp n=2 out=aout outstat=sout;/*相關矩陣的特徵值 看累計 當大於70%代表就取那幾個*/
var x1-x5;

proc sort data=aout;
by prin1;


 proc corr data=aout;
 var x1-x5;
 with prin1 prin2;



 data b;
 pi=3.14159263;
 do t=0 to 200;
 x=sqrt(2.437*5.99)*cos(2*pi*t/200);
 y=sqrt(1.407*5.99)*sin(2*pi*t/200);

 output;end;
 data c; set aout b;
symbol1 c=red v=star i=none;
symbol2 c=blue v=none i=join;

proc gplot;
plot prin2*prin1 y*x/overlay;

data aout;set aout;
retain i 0;i=i+1;
dist=print1**2/2.437+print2**2/1.407;
if dist<5.99 then delete;

run;
data demog;
input country $ 1-15 x1-x7;
label x1='PER CAPITA GNP, 1957, U.S. DOLLARS';
label x2='INFANT DEATHS PER 1,000 LIVE BIRTHS';
label x3='NUMBER OF INHABITANTS PER PHYSICIAN';
label x4='DENSITY PER SQUARE KILOMETER';
label x5='POPULATION PER 1,000 HECTARES OF AG LAND';
label x6='PERCENT LITERATE OF POPULATION AGED 15+';
label x7='STUDENTS IN HIGHER ED PER 100,000 POP';
cards;
AUSTRALIA      1316  19.5  860    1    21 98.5  856
BELGIUM        1196  35.4  819  301  5257 96.7  536
CANADA         1947  27.3  900    2   257 97.5  645
DENMARK        1057  23.7  830  107  1434 98.5  570
EL SAVADOR      219  76.3 5400  127  1497 39.4   89
FRANCE          943  27.4 1014   83  1288 96.4  667
GUATEMALA       189  91.9 6400   36  1365 29.4  135
HONG KONG       272  41.5 3300 3082 98143 57.5  176
INDIA            73 225.0 5200  138  2279 19.3  220
JAPAN           306  37.7  930  254  7563 98.0  750
LUXEMBERG      1388  31.5  910  123  2286 96.5   36
MEXICO          262  77.7 1700   18   296 50.0  258
NEW ZEALAND    1310  22.8  700    9   170 98.5  839
POLAND          475  74.7 1100   96  1411 95.0  351
ROMANIA         360  75.7  788   78  1248 89.0  226
SWITZERLAND    1428  21.1  765  133  2320 98.5  398
TRINIDAD        423  45.4 2300  168  4383 73.8   61
UNITED STATES  2577  26.4  780   20   399 98.0 1983
WEST GERMANY    927  33.8  798  217  3631 98.5  528
YUGOSLAVIA      265 100.0 1637   73  1215 77.0  524
;

proc princomp data=demog n=7 out=pcdata outstat=sout;

proc print data=sout;

proc corr data=pcdata;
var prin1-prin7;
with x1-x7;
options ps=30;
proc plot data=pcdata;
plot prin2*prin1=country;
run;
data a;input x1 x2 x3;
cards;
  3.7  48.5   9.3
  5.7  65.1   8.0
  3.8  47.2  10.9
  3.2  53.2  12.0
  3.1  55.5   9.7
  4.6  36.1   7.9
  2.4  24.8  14.0
  7.2  33.1   7.6
  6.7  47.4   8.5
  5.4  54.1  11.3
  3.9  36.9  12.7
  4.5  58.8  12.3
  3.5  27.8   9.8
  4.5  40.2   8.4
  1.5  13.5  10.1
  8.5  56.4   7.1
  4.5  71.6   8.2
  6.5  52.8  10.9
  4.1  44.1  11.2
  5.5  40.9   9.4
;
symbol c=blue v=star i=none;

proc gplot;
plot  x3*x1;


data b;
a1=5.101;
b1=1.406;
pi=3.14159263;
fac=0.95;/*縮放橢圓*/
do i=0 to 200;
th=i*(2*pi/200);
z1=sqrt(a1)*cos(th)*sqrt(5.99)*fac;
w1=sqrt(b1)*sin(th)*sqrt(5.99)*fac;
output;end;
data b;set b;
u1=-0.631*z1+0.775*w1;
v1=0.775*z1+0.631*w1;
u1=u1+4.64;
v1=v1+9.964;

data d;input xml yml;
cards;
4.64 9.965
;
data c;set a b d;

symbol1 c=blue v=circle i=none;

symbol2 c=red v=none i=join;
symbol3 c=blue v="X"  i=none h=1;

proc gplot;

plot x3*x1 v1*u1 yml*xml /overlay;/*把圖重疊起來*/

data a;set a;drop x2;/*丟掉x2*/
proc iml;
use a;
read all into dat;
x=dat;
n=nrow(dat);
 
one=j(n,1,1);
xb=one`*x/n;/*取平均*/
print xb;

xbb=one*xb;
xd=x-xbb;
cov=xd`*xd/(n-1);
print cov;
call eigen(m,p,cov);
print m p;






 


run;