ConceptAtlas is een implementatie van Group
Concept Mapping (GCM), de methode van Kane en Trochim: een groep haalt
ideeen op, sorteert ze op samenhang, en statistiek maakt daar een
gedeelde kaart van thema's van. Deze pagina legt open welke algoritmen de
omgeving gebruikt en onder welke licentie alles valt. De analyse draait in
een losse R-dienst (r-service/plumber.R); de duiding blijft
altijd mensenwerk in een werksessie.
Algoritmen in de analyse
1. Gelijkenismatrix
Per sorteerder telt elk paar statements dat samen in een stapel ligt. Opgeteld over alle sorteerders geeft dat een gelijkenismatrix: hoe vaak werden twee statements samen gelegd.
Traditie-Trochim (1989). Optioneel een similarity-cutoff (groupwisdom-conventie): paren die door hooguit een handvol sorteerders samen zijn gelegd tellen niet mee, wat uitbijters dempt. Standaard uit.
2. Afstand
Afstand tussen twee statements = aantal sorteerders min hun gelijkenis. Vaak samen gesorteerd betekent kleine afstand. Afstanden van precies nul tussen verschillende statements krijgen een minieme bodem, omdat de MDS-routine die niet accepteert.
3. Multidimensionele schaling (MDS)
De afstandsmatrix wordt teruggebracht tot een kaart in twee dimensies, zodat statements die vaak samen zijn gesorteerd dicht bij elkaar komen te liggen. Twee methoden, per analyse te kiezen:
- Niet-metrisch (standaard, zoals Trochim beschrijft):
Kruskal-MDS via
MASS::isoMDS, met klassieke MDS (cmdscale) als startpunt en als terugval. - Metrisch (RCMap-compatibel): SMACOF type ratio, een
eigen afhankelijkheidsvrije implementatie van de Guttman-transformatie,
gevalideerd tegen
smacof::mds(stress gelijk, congruentie r = 1,000).
De kaart dient om te tekenen en te duiden, niet als exacte meetlat: niet-metrische MDS kent lokale optima, dus de kaart is invoer voor menselijke duiding, geen uniek bepaalde uitkomst.
4. Stress en stress per statement
Stress (Kruskal, stress-1) drukt uit hoe goed de tweedimensionale kaart de oorspronkelijke afstanden weergeeft: lager is beter. Daarnaast rekenen we de bijdrage van elk afzonderlijk statement aan de totale stress uit (via isotone disparities bij niet-metrische MDS, of metrische disparities bij de metrische stand). Statements die duidelijk boven de kaartstress uitkomen liggen "los": hun getekende plek vertegenwoordigt de sorteerdata slecht, en je moet hun positie niet op de buren beoordelen. De omgeving markeert die statements op de kaart en in de clusterlijst.
5. Clustering
Hierarchische clustering met de methode van Ward (ward.D2)
groepeert de statements in thema's. Belangrijk: we clusteren op de
oorspronkelijke afstandsmatrix, niet op de
MDS-coordinaten, zodat de projectiefout van de tweedimensionale kaart niet
meebeslist over de clusters. De omgeving rekent een reeks oplossingen door
(3 tot en met 12 clusters) en kiest er zelf geen: het aantal is een keuze
van de groep in de duidingssessie.
Op echte, rommelige data verschuift 14 tot 18 procent van de statementparen naar een andere indeling ten opzichte van clusteren op de kaartcoordinaten; op een getrouwe kaart is het verschil nul.
6. Bridging
De bridging-waarde per statement is het gewogen gemiddelde van de kaartafstand tot de statements waarmee het samen is gesorteerd, herschaald naar 0 tot 1. Laag betekent anker (hecht aan het eigen cluster), hoog betekent brug (leunt op andere clusters).
Kane en Trochim.
7. Split-half betrouwbaarheid
De sorteerders worden herhaald in twee willekeurige helften gesplitst; per splitsing correleren we de gelijkenismatrixen van beide helften en corrigeren met Spearman-Brown. Het gemiddelde over de herhalingen is een maat voor de stabiliteit van de kaart. Een vast zaad houdt de uitkomst reproduceerbaar.
Trochim. Richtwaarden (Rosas en Kane, 2012): onder 0,70 zwak, 0,70 tot 0,80 redelijk, 0,80 tot 0,90 goed, boven 0,90 sterk; het GCM-gemiddelde in de literatuur ligt rond 0,87.
8. Go-zone
Voor waarderingsschalen (bijvoorbeeld impact tegen haalbaarheid) zet de go-zone elk statement uit op twee assen, met kwadranten op de gemiddelden. Zo zie je waar hoge impact en haalbaarheid samenvallen: daar beginnen.
9. Simulatie: causaal model en scenario's
Na de kaart kunnen de thema's causaal aan elkaar worden gekoppeld (een causal loop diagram). Een scenario rekent dat door in de traditie van fuzzy cognitive mapping: elk cluster heeft een activatie tussen 0 en 1, relaties hebben een sterkte en een vertraging, en er is demping richting het midden zodat balancerende lussen uitdempen. Dit is gedragsverkenning, geen voorspelling.
Richtwaarde stress (Rosas en Kane, 2012): klassieke MDS-drempels gelden hier niet; het GCM-gemiddelde ligt rond 0,28 (bereik circa 0,16 tot 0,35). Onder 0,25 goed, 0,25 tot 0,30 typisch, boven 0,35 opletten.
Validatie
De pijplijn is op drie manieren gecontroleerd:
op synthetische data met bekende structuur (de 8-clusteroplossing werd
exact teruggevonden, Adjusted Rand Index 1,000), via kruisvalidatie met een
onafhankelijke MDS-implementatie (congruentie r = 0,92), en tegen echte
publicatiedata van de methode-ontwerpers zelf (de NCATS-studie, Kane,
Trochim, Bar e.a., 2025; 81 statements, 74 sorteerders). Tegen een eigen
RCMap-run op dezelfde data komen de kaarten sterk overeen (congruentie na
Procrustes-uitlijning r = 0,98). Volledige verantwoording:
docs/verantwoording-analyse.md.
Licentie
De methode
Group Concept Mapping is een gepubliceerde, vrij te gebruiken methode (Kane en Trochim). De naam groupwisdom (voorheen The Concept System) is een merk en commerciele software van Concept Systems Inc.; R-CMap is een open referentie-implementatie in R. ConceptAtlas is een eigen, onafhankelijke implementatie van de methode en gebruikt geen code van groupwisdom.
De software en zijn onderdelen
| Onderdeel | Rol | Licentie |
|---|---|---|
| ConceptAtlas | de omgeving zelf | eigen werk |
| R plus MASS, httpuv | analyse (MDS, clustering) | GPL |
| plumber, jsonlite, stringi, sodium | R-dienst | permissief (MIT/BSD) |
| FastAPI, Uvicorn, Starlette, Jinja2, httpx, RQ, redis-py | webapp en wachtrij | MIT/BSD |
| psycopg | databasekoppeling | LGPL |
| PostgreSQL | database | PostgreSQL-licentie (permissief) |
| Redis | wachtrij | BSD, recentere versies source-available |
| Ollama, of Anthropic Claude | AI-duiding (instelbaar) | MIT lokaal, of commercieel per gebruik |
Wat dit betekent
De GPL-onderdelen (R zelf, MASS en httpuv) draaien in de
losse R-dienst die ConceptAtlas over het netwerk
aanroept. Omdat het gescheiden programma's zijn die op afstand met elkaar
praten, maakt dat de rest van ConceptAtlas geen afgeleid werk: de webapp
hoeft niet onder de GPL. GPL-verplichtingen (broncode aanbieden) gelden
pas als je die R-dienst zelf uitlevert, bijvoorbeeld als
kant-en-klare image aan een klant; bij zelf-hosten als dienst niet.
psycopg valt onder de LGPL en mag als bibliotheek gebruikt
worden. Al het overige is permissief (MIT/BSD/Apache). Er zit geen AGPL in
de set. Kortom: ConceptAtlas mag proprietary en zelf-gehost zijn.
Dit is een samenvatting ter toelichting, geen juridisch advies.