Oblique factor communalities ignore factor correlations
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
get_communalities() から始め、固定された 0.5.1 questionnaire reproducer を失敗するケースとして使用して、既存の communalities と uniqueness のテストを調べます。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
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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 件 ·
-
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 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
EducationalTestingService/factor_analyzer#145 · コメント 3 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
EducationalTestingService/factor_analyzer の issue をすべて見る
似ている issue
-
New Internshipオープンnew_internship
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
-
[BUG] Reports tab: "Unban" button tooltip shows raw `{{ip}}` placeholder instead of the IP addressオープンbug javascript ui
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
bunkerity/bunkerweb#4001 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
google/differential-privacy#516 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
adobe-fonts/source-serif#153 ·