안녕하세요 JMP 커뮤니티
K-평균 클러스터를 사용하는 것처럼 공통 척도를 사용해 PCA를 수행하는 방법이 있습니까?
저는 공통 척도 K-평균 클러스터가 제 데이터에 훨씬 더 좋지만 클러스터링 데이터를 제거하고 축이 있는 PCA 바이플롯만 표시하고 싶어서 질문합니다.
최상의,
감사합니다. 나는 스크립팅이 GUI보다 더 자연스러운 날을 열망하지만 여기서는 R보다 JMP를 더 많이 사용하고 있습니다.
PCA는 상관 행렬로 시작합니다. 공분산 행렬이 선택되면 PCA biplot이 K-means 군집 biplot(공통 척도)와 일치하고 축 분산을 결정할 수 있습니다.
JMP 사용 설명서에서
분명히 PCA의 공분산 행렬은 K-평균 클러스터링의 공통 척도와 동일합니다.
에 추가하려면 @Dan_Obermiller 의견, 나는 K Means가 해당 옵션을 사용할 때 열의 크기를 조정하지 않고 열을 중앙에 배치한다고 생각하므로 PCA로 분석을 복제하려면 열을 먼저 중앙에 배치한 다음 배율 조정되지 않은 PCA를 수행하고 싶을 것입니다.아래의 스크립트를 실행하면 이변량 점수 플롯이 일치해야 합니다.
Names default to here(1);
dt = Open( "$Sample_data/Lipid Data.jmp" );
//Center columns
dt << New Column("Age Centered", Numeric, "Continuous", Format("Best", 10), Formula(:Age - Col Mean(:Age)));
dt << New Column("Weight Centered", Numeric, "Continuous", Format("Best", 10), Formula(:Weight - Col Mean(:Weight)));
dt << New Column("Cholesterol Centered", Numeric, "Continuous", Format("Best", 10), Formula(:Cholesterol - Col Mean(:Cholesterol)));
dt << New Column("Triglycerides Centered", Numeric, "Continuous", Format("Best", 10), Formula(:Triglycerides - Col Mean(:Triglycerides)));
//Window with both analyses:
New Window( "Compare",
H List Box(
//K Means common scale:
dt << K Means Cluster(
Y( :Age, :Weight, :Cholesterol, :Triglycerides ),
Columns Scaled Individually( 0 ),
{Single Step( 0 ), Number of Clusters( 3 ), K Means Cluster,
Go( Show Biplot Rays( [0, 0, 1] ), Biplot( 1 ) )}
),
//PCA unscaled using centered columns
dt << Principal Components(
Y( :Age Centered, :Weight Centered, :Cholesterol Centered, :Triglycerides Centered ),
Estimation Method( "Default" ),
"on Unscaled"
)
)
);K-Means에 대한 JMP 도움말:
개별적으로 축척된 열
다른 열과 독립적으로 각 열의 크기를 조정합니다. 변수가 공통 측정 척도를 공유하지 않고 하나의 변수가 클러스터링 프로세스를 지배하는 것을 원하지 않을 때 사용합니다. 예를 들어, 한 변수에는 0에서 1000 사이의 값이 있고 다른 변수에는 0에서 10 사이의 값이 있을 수 있습니다. 이 경우 클러스터링 프로세스가 첫 번째 변수에 의해 지배되지 않도록 옵션을 사용할 수 있습니다.
개별적으로 스케일링하지 않으면 변수를 스케일링하지 않습니다.
주성분에서 이를 재현하려면 비축척에서 주성분을 선택하십시오(주성분의 빨간색 팝업 메뉴에서 사용 가능). 그러나 이러한 결과가 의미가 있으려면 모든 변수가 유사한 척도에 있어야 합니다.
안녕하세요 PCA의 배율은 "개별적으로 배율 조정된 열" 옵션이 선택된 경우 K-평균과 동일합니다.
그러나 "개별적으로 크기 조정된 열" 옵션이 선택되지 않은 경우 Kmeans가 수행할 수 있는 것과 같이 PCA로 공통 크기 조정을 수행하는 방법을 찾을 수 없습니다.
내가 이 작업을 수행해야 하는 이유는 K-means biplot에 축에서 설명하는 분산이 포함되어 있지 않기 때문입니다. 누구든지 K-means 플롯이 해당 값을 표시하도록 하는 방법을 알고 있다면 감사하겠습니다!
질문을 이해하지 못할 수도 있지만 상관 관계에 대해 PCA를 수행할 때 PCA는 모든 변수를 자동으로 중앙에 놓고 스케일링합니다. 따라서 모든 변수는 동일한 척도에 있습니다.