Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Oblique factor communalities ignore factor correlations

Offen Anfängerfreundlich
#151 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
72/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python

Rechercherichtung

Beginne bei get_communalities() und untersuche die vorhandenen Tests für communalities und uniqueness, wobei der festgelegte 0.5.1-Fragebogen-Reproduzierer als fehlschlagender Fall verwendet wird. Die Aufgabe ist abgeschlossen, wenn oblique Rotationen die vom Modell implizierten Diagnosen erzeugen, die korrigierten Werte mit der angegebenen R-Referenz übereinstimmen, varimax unverändert bleibt und die Regression sowie die vollständige Testsuite mit 102 Tests erfolgreich durchlaufen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Python
Sterne
6
Forks
3
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus EducationalTestingService/factor_analyzer

Alle Issues in EducationalTestingService/factor_analyzer

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.