Method / Methode
Dynamic Complexity is a time-series measure designed to quantify the intensity and instability of temporal change. It combines two complementary components: fluctuation intensity (FI), which reflects the amplitude and frequency of fluctuations, and distributional disequilibrium (DD), which reflects how unevenly values are distributed within a moving window.
In practice, the method is applied in sliding windows. For each time point, the tool calculates FI, DD and Dynamic Complexity (DC). This makes it possible to identify phases of increased instability, critical fluctuations, or transition-related dynamics in psychological, clinical, physiological and other process data.
The tool supports raw and z-transformed views, allowing users to compare the original signal with DC, FI and DD profiles and inspect whether specific results are driven by the original data, range settings, constant windows, or preprocessing decisions.
Dynamische Komplexität ist ein Zeitreihenmaß zur Quantifizierung der Intensität und Instabilität zeitlicher Veränderungen. Sie kombiniert zwei komplementäre Komponenten: die Fluktuationsintensität (FI), welche Ausmaß und Häufigkeit von Schwankungen beschreibt, und das Verteilungsungleichgewicht (DD), welches die Ungleichverteilung der Werte innerhalb eines gleitenden Fensters erfasst.
Praktisch wird die Methode mit gleitenden Zeitfenstern berechnet. Für jeden Zeitpunkt werden FI, DD und Dynamische Komplexität (DC) bestimmt. Dadurch können Phasen erhöhter Instabilität, kritischer Fluktuationen oder transitionsnaher Dynamik in psychologischen, klinischen, physiologischen und anderen Prozessdaten sichtbar gemacht werden.
Das Tool unterstützt Rohwerte und z-transformierte Ansichten. So können Originalsignal, DC, FI und DD direkt verglichen und mögliche Ursachen auffälliger Ergebnisse überprüft werden, etwa Range-Einstellungen, konstante Fenster oder Vorverarbeitungsschritte.
Download
Download HSDC-Dynamische Komplexität either as a ready-to-use portable Windows application or as a source/build package.
Recommended for most users. The ZIP contains the executable and the required
_internal folder.For users who want to inspect the Python source or build the executable themselves.
Installation / Installation
Option A: Use the ready-to-use Windows application
- Download
HSDC.zip. - Unzip the package into a local folder, for example
C:\HSDC-Dynamic-Complexity. - Keep the executable and the
_internalfolder together in the same directory. - Start
HSDC-Dynamische-Komplexitaet.exe. - Python does not need to be installed on the target computer when the EXE was built correctly with PyInstaller.
_internal folder. It contains the Python runtime and required libraries.
Option B: Build the executable yourself
- Download
HSDC_Dynamische_Komplexitaet_Windows_BuildKit.zip. - Unzip the package into a local folder.
- Install Python 3.10 or newer on Windows.
- Run
build_windows_exe.bat. - After the build, start the application from the
distfolder. - Optional: install Inno Setup 6 and run
build_windows_installer_inno.batto create a Windows installer.
Requirements for Option B
- Windows 10 or Windows 11
- Python 3.10 or newer
- Packages listed in
requirements.txt - Optional: Inno Setup 6 for creating a Windows installer
Option A: Fertige Windows-Anwendung verwenden
- Lade
HSDC.zipherunter. - Entpacke das Paket in einen lokalen Ordner, zum Beispiel
C:\HSDC-Dynamische-Komplexitaet. - Lasse die EXE-Datei und den Ordner
_internalgemeinsam im selben Verzeichnis. - Starte
HSDC-Dynamische-Komplexitaet.exe. - Python muss auf dem Zielrechner nicht installiert sein, wenn die EXE korrekt mit PyInstaller erstellt wurde.
_internal bitte nicht löschen, umbenennen oder verschieben. Er enthält die Python-Laufzeitumgebung und die benötigten Bibliotheken.
Option B: EXE selbst erstellen
- Lade
HSDC_Dynamische_Komplexitaet_Windows_BuildKit.zipherunter. - Entpacke das Paket in einen lokalen Ordner.
- Installiere Python 3.10 oder neuer unter Windows.
- Führe
build_windows_exe.bataus. - Nach dem Build befindet sich die Anwendung im Ordner
dist. - Optional: Installiere Inno Setup 6 und führe
build_windows_installer_inno.bataus, um einen Windows-Installer zu erzeugen.
Voraussetzungen für Option B
- Windows 10 oder Windows 11
- Python 3.10 oder neuer
- Pakete aus
requirements.txt - Optional: Inno Setup 6 zur Erstellung eines Windows-Installers
Use / Anwendung
- Start
HSDC-Dynamische-Komplexitaet.exeor run the Python file during development. - Open a data file using Open file. Supported formats include Excel and delimited text files such as CSV, TXT or TSV.
- Check the detected layout: variables in columns or rows, header row, first data row and first data column.
- Set the DC parameters. For 0–100 scaled process data, use a fixed range of
100. - Click Calculate DC.
- Use the variable selector to inspect each time series. The upper plot shows original data; the lower plot shows DC, FI and DD.
- Use the checkboxes to show or hide DC, FI and DD. Switch between raw and z-transformed display if needed.
- Export results to Excel for further inspection or documentation.
- Starte
HSDC-Dynamische-Komplexitaet.exeoder während der Entwicklung die Python-Datei. - Öffne eine Datendatei über Open file. Unterstützt werden Excel-Dateien sowie getrennte Textdateien wie CSV, TXT oder TSV.
- Kontrolliere die erkannte Struktur: Variablen in Spalten oder Zeilen, Headerzeile, erste Datenzeile und erste Datenspalte.
- Setze die DC-Parameter. Für Prozessdaten auf einer 0–100-Skala sollte ein fixer Range von
100verwendet werden. - Klicke auf Calculate DC.
- Wähle einzelne Variablen aus. Die obere Grafik zeigt die Originaldaten, die untere Grafik DC, FI und DD.
- Über die Checkboxen können DC, FI und DD ein- oder ausgeblendet werden. Bei Bedarf kann zwischen Rohwerten und z-transformierter Ansicht gewechselt werden.
- Exportiere die Ergebnisse nach Excel zur weiteren Prüfung oder Dokumentation.
Practical notes / Praktische Hinweise
- The first
window - 1values are usually zero because no complete moving window is available yet. - For normalized 0–100 questionnaire data, a theoretical range of
100is usually preferable to an empiricalmax - minrange. - Wide zero segments may indicate constant windows, inappropriate range settings, wrong column selection or preprocessing issues.
- Die ersten
Fenstergröße - 1Werte sind in der Regel null, weil noch kein vollständiges gleitendes Fenster vorliegt. - Für normalisierte Fragebogendaten auf einer 0–100-Skala ist meist ein theoretischer Range von
100sinnvoller als der empirische Rangemax - min. - Breite Nullbereiche können auf konstante Fenster, ungeeignete Range-Einstellungen, falsche Spaltenauswahl oder Vorverarbeitungsprobleme hinweisen.
References
- Haken, H., & Schiepek, G. (2010). Synergetik in der Psychologie: Selbstorganisation verstehen und gestalten (2nd ed.). Göttingen: Hogrefe.
- Strunk, G., & Schiepek, G. (2002). Dynamische Komplexität in der Therapeut-Klient-Interaktion. Therapieforschung aus dem Geiste der Musik. Psychotherapeut, 47(5), 291–300. DOI: 10.1007/s00278-002-0242-9.