Oblique factor communalities ignore factor correlations
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- machine-learning
Direção de pesquisa
Comece em get_communalities() e inspecione os testes existentes de communalities e uniqueness, usando o reproducer fixado do questionário 0.5.1 como o caso que falha. A tarefa estará concluída quando as rotações oblique produzirem os diagnósticos implícitos pelo modelo, os valores corrigidos corresponderem à referência R indicada, varimax permanecer inalterado e a regressão e a suíte completa de 102 testes passarem.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 6
- Forks
- 3
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de EducationalTestingService/factor_analyzer
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 55/100
EducationalTestingService/factor_analyzer#148 · 4 comentários ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 55/100
EducationalTestingService/factor_analyzer#147 · 1 reação ·
-
Order of variables when DF is fed to fit with CFA: either document or actually use the column names?Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
EducationalTestingService/factor_analyzer#146 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
EducationalTestingService/factor_analyzer#145 · 3 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
Todas as issues de EducationalTestingService/factor_analyzer
Issues semelhantes
-
documentation good first issue
Dificuldade 2/5 Meio dia Facilidade para iniciantes 72/100
sujithputta02/Esapay#13 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
Flaky: credential-proxy admission metric test asserts a wall-clock bound it does not establishAbertaneeds-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
gke-labs/kube-agents#3277 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
jbacalso24/mimry#291 ·
Mantenedores costumam responder em até 1 dia
-
good first issue
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 82/100
eli-alvarado/us-watchlist-alerts#14 ·
Mantenedores costumam responder em até 1 dia