Oblique factor communalities ignore factor correlations
還沒有人認領這個 Issue。
評估
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 新手友好度
- 72/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- python
研究方向
從 get_communalities() 開始,檢查現有的 communalities 和 uniqueness 測試,並使用固定的 0.5.1 questionnaire reproducer 作為失敗案例。完成的標準是:oblique rotations 產生 model-implied diagnostics,corrected values 與指定的 R reference 一致,varimax 維持不變,且 regression 和完整的 102-test suite 均通過。
由索引模型根據 Issue 內容生成。
描述
Rotating correlated factors should not change how much of each item the fitted model explains. get_communalities() treats those factors as independent, which can report impossible negative uniqueness.
Example
With factor_analyzer 0.5.1, a three-factor minres/promax fit to the bundled 2,571-row, 23-item questionnaire reports q08 communality 1.103082 and uniqueness −0.103082. The model-implied values from diag(Λ Φ Λᵀ) are 0.590760 and 0.409240. q06 is also negative under the released calculation. The largest communality error across items is 0.512322.
Cause and checks
The code sums squared pattern loadings, valid for orthogonal factors only. With an oblique structure matrix, the row sum of loadings * structure_ supplies the factor correlations. Corrected promax, oblimin and quartimin outputs match the unrotated model within 7.8e-16 for minres and ML extraction; varimax is an unchanged negative control. The corrected questionnaire values match the R reference fixture within 2.2e-6. The full 102-test suite passes with a two-line correction and regression.
Pinned source: de933d26808039d965c117874c67260ec5149690. Reproducer, input, results, patch and tests: https://github.com/dnncha/cheerfulduck/blob/main/projects/research/content/findings-20260908.json (factor-analyzer-oblique-communalities); evidence archive SHA-256 663e8f6ccbec7fa35aa3027ad9b94017285259fa9a3f5dd2e550eb7442805b15.
This demonstrates changed diagnostics on a real questionnaire, not a changed fitted score, paper or scientific conclusion. No matching report was found in bounded issue/PR searches on 27 September 2026; #92 and PR #51 cover different questions. Prepared with AI assistance; not independently reviewed.
- 主要語言
- Python
- 星號
- 6
- 分支
- 3
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
EducationalTestingService/factor_analyzer 的其他 Issue
-
難度 1/5 1 小時以內 新手友好度 55/100
EducationalTestingService/factor_analyzer#148 · 4 則留言 ·
-
難度 1/5 1 小時以內 新手友好度 55/100
EducationalTestingService/factor_analyzer#147 · 1 個 reaction ·
-
Order of variables when DF is fed to fit with CFA: either document or actually use the column names?未關閉
難度 4/5 3-5 天 新手友好度 35/100
EducationalTestingService/factor_analyzer#146 · 2 則留言 ·
-
難度 4/5 3-5 天 新手友好度 25/100
EducationalTestingService/factor_analyzer#145 · 3 則留言 ·
-
難度 3/5 1-2 天 新手友好度 55/100
查看 EducationalTestingService/factor_analyzer 的全部 Issue
相似的 Issue
-
bug Size: XS
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 76/100
oposs/repo-infra#93 ·
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 78/100
-
難度 2/5 1-3 小時 新手友好度 69/100
Graphify-Labs/graphify#4546 · 1 則留言 ·
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 65/100
521xueweihan/HelloGitHub#4025 ·