Files
nlnieuws/python/score.txt
Peter Kleiweg 01e6d48665 stijgers
2026-06-18 12:52:40 +02:00

31 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Er zijn twee simpele formules om de "effect size" van het verschil tussen twee
relatieve frequenties te rapporteren:
* %DIFF = (freq_B  - freq_A) / freq_A * 100
Percentage verschil in relatieve frequenties, makkelijk te interpreteren,
maar niet symmetrisch.
* Log Ratio: log2(freq_A / freq_B)
Een symmetrische en interpreteerbare effect size; +1 is een verdubbeling, -1
een halvering
Twee populaire methodes om de significantie van frequentieverschillen te testen
(ook wel keyword extraction):
* Log-Likelihood Ratio (G^2): meest gebruikte methode in Corpus Linguistics.
Vergelijkt observed vs expected frequency.
* Chi-Squared test (X^2): simpeler dan G^2, maar geeft meer false positives
bij sparse data, werkt niet goed met lage frequenties.
Je kunt dan de gebruiker alleen de woorden met significante verschillen laten
zien (dit zijn dan de keywords). Ik heb met behulp van Claude een notebook in
elkaar gezet met een demonstratie van deze methodes:
→ Word freq comparison.ipynb
Er zijn ook geavanceerdere methodes die me te ingewikkeld lijken om te
implementeren, maar ik noem ze voor de volledigheid. In de stylometrie
is Burrow's Zeta populair, deze is bijv. beschikbaar in Stylo
https://github.com/computationalstylistics/stylo onder de oppose()
functie
https://cran.r-project.org/web/packages/stylo/stylo.pdf#Rfn.oppose.1 .
Er is ook een methode die gebruik maakt van Bayesiaanse statistiek en
frequenties uit een achtergrondcorpus, de Fightin' Words methode van
Monroe et al: https://github.com/jmhessel/FightingWords