factanal
位於 stats
包(package)。 說明
對協方差矩陣或數據矩陣執行 maximum-likelihood 因子分析。
用法
factanal(x, factors, data = NULL, covmat = NULL, n.obs = NA,
subset, na.action, start = NULL,
scores = c("none", "regression", "Bartlett"),
rotation = "varimax", control = NULL, ...)
參數
x |
公式或數值矩陣或可強製轉換為數值矩陣的對象。 |
factors |
要擬合的因子的數量。 |
data |
可選 DataFrame (或類似數據:請參閱 |
covmat |
協方差矩陣或由 |
n.obs |
如果 |
subset |
如果 |
na.action |
如果 |
start |
|
scores |
要生成的分數類型(如果有)。默認值為無, |
rotation |
特點。 |
control |
控製值列表,
|
... |
|
細節
因子分析模型為
對於 元素向量 、負載的 矩陣 、分數的 元素向量 和錯誤的 元素向量 。除了 之外,沒有觀察到任何其他組件,但主要限製是分數不相關且具有單位方差,並且誤差與方差 獨立,即唯一性。將觀察到的變量縮放到單位方差也是很常見的,並在此函數中完成。
因此因子分析本質上是 相關矩陣的模型,
模型中仍然存在一些不確定性,因為如果對於任何正交矩陣 將 替換為 ,模型不會發生變化。此類矩陣 稱為旋轉(盡管該術語也適用於非正交可逆矩陣)。
如果提供covmat
,則使用它。否則,如果它是矩陣,則使用x
,或者將公式x
與data
一起使用來構造模型矩陣,並用於構造協方差矩陣。 (公式有響應是沒有意義的,並且所有變量都必須是數字。)一旦找到或從 x
計算出協方差矩陣,它就會轉換為相關矩陣進行分析。相關矩陣作為結果的分量 correlation
返回。
擬合是通過優化對數似然來完成的,假設多元正態性超過唯一性。 (給定唯一性的最大化載荷可以通過分析找到:Lawley & Maxwell (1971, p. 27)。)依次嘗試 start
中提供的所有起始值,並使用獲得的最佳擬合。如果 start = NULL
則第一次擬合從 Jöreskog (1963) 建議的值和 Lawley & Maxwell (1971, p. 31) 給出的值開始,然後嘗試 control$nstart - 1
其他值,隨機選擇為與獨特性。
從技術上講,唯一性被限製在 control$lower
的下限(默認 0.005)完成的(Lawley & Maxwell,1971,第 32 頁)。 中,但接近零的值是有問題的,並且優化是使用
僅當提供並使用數據矩陣時才能產生分數。第一種方法是 Thomson (1951) 的回歸方法,第二種方法是 Bartlett (1937, 8) 的加權最小二乘法。兩者都是對未觀察到的分數 的估計。湯姆森的方法(在總體中)對 上的未知 進行回歸,得出
然後代入右側數量的樣本估計。在給定(擬合的) 的情況下,Bartlett 的方法可最小化選擇 的標準化誤差平方和。
如果 x
是公式,則標準 NA
處理將應用於分數(如果需要):請參閱 napredict
。
print
方法(記錄在 loadings
下)遵循引起注意結果模式的因子分析約定,因此默認精度為小數點後三位,並且抑製小載荷。
值
帶有組件的 "factanal"
類的對象
loadings |
載荷矩陣,每個因子一列。這些因子按載荷平方和的降序排列,並給出使載荷總和為正的符號。這是 |
uniquenesses |
計算出的唯一性。 |
correlation |
使用的相關矩陣。 |
criteria |
優化結果:標準值(負對數似然的線性函數)和所使用迭代的信息。 |
factors |
參數 |
dof |
因子分析模型的自由度數。 |
method |
方法:始終 |
rotmat |
旋轉矩陣(如果相關)。 |
scores |
如果需要,可以提供分數矩陣。 |
n.obs |
觀察數(如果可用)或 |
call |
匹配的調用。 |
na.action |
如果相關。 |
STATISTIC, PVAL |
significance-test 統計量和 P 值(如果可以計算)。 |
注意
因子分析有如此多的變化,因此很難比較不同程序的輸出。此外,最大似然因子分析中的優化很困難,並且我們比較的許多其他示例的擬合效果不如該函數產生的擬合效果。特別是,“海伍德案例”(一個或多個唯一性本質上為零)的解決方案比大多數文本更為常見,並且其他一些程序會讓人相信。
例子
# A little demonstration, v2 is just v1 with noise,
# and same for v4 vs. v3 and v6 vs. v5
# Last four cases are there to add noise
# and introduce a positive manifold (g factor)
v1 <- c(1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,4,5,6)
v2 <- c(1,2,1,1,1,1,2,1,2,1,3,4,3,3,3,4,6,5)
v3 <- c(3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,5,4,6)
v4 <- c(3,3,4,3,3,1,1,2,1,1,1,1,2,1,1,5,6,4)
v5 <- c(1,1,1,1,1,3,3,3,3,3,1,1,1,1,1,6,4,5)
v6 <- c(1,1,1,2,1,3,3,3,4,3,1,1,1,2,1,6,5,4)
m1 <- cbind(v1,v2,v3,v4,v5,v6)
cor(m1)
factanal(m1, factors = 3) # varimax is the default
factanal(m1, factors = 3, rotation = "promax")
# The following shows the g factor as PC1
prcomp(m1) # signs may depend on platform
## formula interface
factanal(~v1+v2+v3+v4+v5+v6, factors = 3,
scores = "Bartlett")$scores
## a realistic example from Bartholomew (1987, pp. 61-65)
utils::example(ability.cov)
參考
Bartlett, M. S. (1937). The statistical conception of mental factors. British Journal of Psychology, 28, 97-104. doi:10.1111/j.2044-8295.1937.tb00863.x.
Bartlett, M. S. (1938). Methods of estimating mental factors. Nature, 141, 609-610. doi:10.1038/141246a0.
Jöreskog, K. G. (1963). Statistical Estimation in Factor Analysis. Almqvist and Wicksell.
Lawley, D. N. and Maxwell, A. E. (1971). Factor Analysis as a Statistical Method. Second edition. Butterworths.
Thomson, G. H. (1951). The Factorial Analysis of Human Ability. London University Press.
也可以看看
loadings
(解釋了 print
方法的一些細節)、 varimax
、 princomp
、 ability.cov
、 Harman23.cor
、 Harman74.cor
。
其他旋轉方法可在各種貢獻的包中使用,包括 GPArotation
和 psych
。
相關用法
- R factor.scope 計算在公式中添加或刪除時允許的更改
- R family 模型的族對象
- R formula 模型公式
- R friedman.test 弗裏德曼秩和檢驗
- R fitted 提取模型擬合值
- R ftable 扁平列聯表
- R ftable.formula 平麵列聯表的公式表示法
- R filter 時間序列的線性過濾
- R formula.nls 從 nls 對象中提取模型公式
- R fivenum 圖基五數摘要
- R fisher.test 計數數據的 Fisher 精確檢驗
- R fft 快速離散傅立葉變換 (FFT)
- R fligner.test 方差齊性的 Fligner-Killeen 檢驗
- R stlmethods STL 對象的方法
- R medpolish 矩陣的中值波蘭(穩健雙向分解)
- R naprint 調整缺失值
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
- R nls.control 控製 nls 中的迭代
- R aggregate 計算數據子集的匯總統計
- R deriv 簡單表達式的符號和算法導數
- R kruskal.test Kruskal-Wallis 秩和檢驗
- R quade.test 四方測試
- R decompose 移動平均線的經典季節性分解
- R plot.stepfun 繪製階躍函數
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Factor Analysis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。