Vernieuwingen in Trendanalist

Trendanalist huidige versie is 7.0.01 van 28 december 2022.

In versie 7 zijn de grafische presentaties verbeterd en ontwikkeld met de meest recente Matlab-Compiler van augustus 2022.

In versie 6.0.10 is ook een Duitse versie van Trendanalist beschikbaar gesteld voor onze Duitse klanten.

In versie 6.0.07 is de nieuwe versie van het Aquokit csv-formaat geïmplementeerd.

In versie 6.0.01 is gekozen voor de meest recente Matlab Compiler van 2017b voor de 64-bits versie van Windows en voor de Matlab Compiler van 2015b voor de 32-bits versie van Windows. De Trendanalist-software is aangepast voor de nieuwe versies van Matlab en Microsoft Office (Excel en Word).

In versie 5.0.19 zijn de opties uitgebreid met de mogelijkheid om grafieken aan te passen.

In versie 5.0.18 zijn aansluitend na versie 5.0.17 een groot aantal kleine verbeteringen doorgevoerd.

In versie 5.0.17 van 30 mei is de grafische functionaliteit van Trendanalist verbeterd. Tevens Trendanalist afgesteld op de nieuwste versie van Matlab, r2015a.

In versie 5.0.16 is de inleesroutine van Trendanalist verder uitgebreid en verbeterd. Een optie is toegevoegd dat Trendanalist de meetgegevens voorbewerkt (sorteert en dubbele meetwaarden verwijderd).

In versie 5.0.15 kan Trendanalist ook meetreeksen die ongeschikt zijn voor trendanalyses verkennen (met tijdreeksplot, boxplot, ..).

In versie 5.0.14 is de inleesroutine uitgebreid met de mogelijkheid om aquokit csv-bestanden in te lezen. Verder is de optie ingebouwd dat meetreeksen bij het inlezen worden voorbewerkt en opgeschoond.

In versie 5.0.13 kunnen jaarboxplots van meetreeksen worden bekeken.

In de versie 5.0.10 zijn de installatiebestanden van Trendanalist verbeterd voor de installatie en werking van Trendanalist onder Windows 7. Bij onze klant in België is met succes Trendanalist geïnstalleerd op een Cirix-machine draaiende onder Windows 7, de 64-bit versie.

In de versie 5.0.07 van 29 mei 2012 is er een (belangrijke) verbetering uitgevoerd in het algoritme voor het verwerken van gecensureerde meetwaarden met verschillende rapportagegrenzen. Dit is een vervolg van de onderstaande vernieuwingen in versie 5.0 in 2).

Omgaan met gecensureerde waarden met verschillende rapportagegrenzen

Voor het omzetten van een meetreeks naar een tijdreeks worden alle gecensureerde waarden van een meetreeks standaard op de helft van de hoogste rapportagegrens van die reeks gezet. Ook niet-gecensureerde meetwaarden die lager zijn dan de hoogste rapportagegrens worden standaard op de helft van die grens gezet (tenzij de gebruiker die standaardoptie heeft uitgezet, zie ook verder) en zijn dan op te vatten als gecensureerde waarden. Deze aanpak kan informatieverlies en daarmee ook verlies aan onderscheidend vermogen geven, maar is nodig om het detecteren van kunstmatige trends te vermijden die louter zijn veroorzaakt door veranderingen van de rapportagegrens (zie bijvoorbeeld [Helsel and Hirsch, 1991]). Door deze voorbewerking kan het overigens voorkomen dat een tijdreeks meer gecensureerde waarden bevat dan de oorspronkelijke meetreeks.

Als voldaan wordt aan beide volgende criteria, wordt een aangepaste aanpak gevolgd:

  1. de meetreeks bevat slechts één waarde die is gecensureerd ten opzichte van de hoogste rapportagegrens;
  2.  er komt minstens één niet-gecensureerde waarde voor, die tussen de hoogste rapportagegrens en de op één na hoogste rapportagegrens ligt, of die onder de hoogste rapportagegrens ligt als dat de enige rapportagegrens in de meetreeks is.

Alleen als wordt voldaan aan beide criteria dan wordt de ene waarde die is gecensureerd ten opzichte van de hoogste rapportagegrens verwijderd en worden vervolgens alle waarden (zowel de gecensureerde als de niet-gecensureerde) die onder de één na hoogste rapportagegrens liggen standaard op de helft van die één na hoogste rapportagegrens gezet, tenzij de meetreeks maar één rapportagegrens omvat, in welk geval er na de verwijdering van de ene gecensureerde waarde ten opzichte van die grens geen verdere censuur plaatsvindt. Dit voorkomt onnodig informatieverlies door een eenmalige, relatief hoge rapportagegrens.

 De belangrijkste vernieuwingen van versie 5.0

  1. De automatische procedure voor het selecteren van de combinatie van trendtoets en trendschatter is verbeterd. Tot dusverre werd de procedure gestart met het herhaald schatten van het uitgebreide lineaire regressiemodel (dat wil zeggen met verdiscontering van seizoenseffecten en autocorrelatie), tot een model resteerde met alleen statistisch significante parameters. Vervolgens werd getoetst of de modelresiduën wel witte ruis vormden (onafhankelijke trekkingen uit de normale kansverdeling). Als dat niet het geval was, ging de procedure verder met het selecteren van één van de verdelingsvrije Mann-Kendall-toetsen. Een nadeel van deze aanpak is dat voor elke reeks wordt gestart met het uitgebreide lineaire regressiemodel, terwijl dat bij een reeks met relatief veel ontbrekende waarden rekenkundige oplossingen vergt (vooral voor het schatten van de 1e-orde-autocorrelatiecoëfficiënt), die het trendtoetsen minder optimaal maken. De nieuwe procedure start daarom met een eenvoudig lineair regressiemodel (zonder verdiscontering van autocorrelatie) en checkt vervolgens of de modelresiduën wel witte ruis vormen. Als daaruit blijkt dat de modelresiduën afkomstig zijn uit een normale kansverdeling, maar nog autocorrelatie vertonen, dan wordt het lineaire regressiemodel uitgebreid met een 1e-orde-autocorrelatiecoëfficiënt voor de ruis. Dit gebeurt echter alleen als de reeks niet teveel ontbrekende waarden bevat (hooguit 10%). Als de reeks wél teveel ontbrekende waarden bevat (meer dan 10%), dan wordt de Mann-Kendall-toets met verdiscontering van (seizoenseffecten en) autocorrelatie geselecteerd, aangezien die robuust is tegen ontbrekende waarden, mits de reeks voldoende waarden voor deze toets bevat (minstens 20), anders wordt de tijdreeks omgezet naar een hogere tijdseenheid. Een gedetailleerde toelichting op de nieuwe automatische selectieprocedure vindt u in de handleiding (§ 3.5).
  2. De behandeling van gecensureerde waarden is aangepast, om te voorkomen dat er kunstmatige trends worden gedetecteerd die louter zijn veroorzaakt door veranderingen van de rapportagegrens. In versie 5.0 worden alle waarden onder de hoogste rapportagegrens op de helft van die grens gezet, ongeacht of het een gecensureerde waarde of een meetwaarde betreft. Dit is uiteraard een rigoreuze aanpassing, maar het biedt afdoende bescherming tegen kunstmatige trends. Indien gewenst kan de gebruiker deze instelling aanpassen, zodanig dat elke gecensureerde waarde op de helft van zijn eigen rapportagegrens wordt gezet (dit kan via ‘Opties’, zie daarvoor de handleiding, § 4.6). Maar het is dan wel sterk aan te bevelen om alle trendplots visueel te beoordelen op kunstmatige trends, veroorzaakt door veranderingen van de rapportagegrens.
  3. Het toetsen op autocorrelatie van de residuën van het lineaire regressiemodel is uitgebreid, zodanig dat beter rekening kan worden gehouden met ontbrekende waarden. Daartoe is naast de reeds eerder beschikbare Ljung-Box-Portmanteau-toets op autocorrelatie een variant op die toets toegevoegd die beter overweg kan met ontbrekende waarden in de reeks van modelresiduën.
  4. Voor de vijf toetsen die worden gebruikt voor de keuzemomenten van de automatische selectieprocedure is de betrouwbaarheid op 95% gezet. Dit betreft de Kruskal-Wallis-toets op seizoenseffecten, de Lilliefors-toets op normaliteit, de Ljung-box-Portmanteau-toets op autocorrelatie van modelresiduën (en zijn variant die overweg kan met ontbrekende waarden) en de runstoets op autocorrelatie van de tijdreekswaarden. Voor de Lilliefors-toets stond de betrouwbaarheid eerst op 99%, waardoor alleen sterke afwijkingen van normaliteit werden gedetecteerd. Door deze op 95% te zetten worden ook minder sterke afwijkingen gedetecteerd. Daardoor zal vaker een verdelingsvrije trendtoets worden geselecteerd, maar die zijn bij niet-normaliteit ook de te verkiezen toetsen, terwijl ze bij normaliteit niet veel onderdoen voor trendtoetsen gebaseerd op lineaire regressie. De betrouwbaarheid van de zeven trendtoetsen blijft overigens standaard ingesteld op 95%, maar indien gewenst kan de gebruiker dit omzetten naar 90% of 80% (zie de handleiding § 4.4).
  5. Er is een bescherming ingebouwd tegen het onterecht detecteren van een trend door precisieproblemen. In bepaalde gevallen werd bij een constante reeks toch een trend gedetecteerd, louter door het delen van zeer kleine getallen. Dit soort randgevallen is nu softwarematig afgevangen. Dit is overigens wat anders dan wat sporadisch optreedt bij de verdelingsvrije Mann-Kendall-toetsen, namelijk dat de toets een statistisch significante trend detecteert, terwijl de geschatte trend exact nul bedraagt. Dit komt doordat bij een reeks met relatief veel gecensureerde waarden de trendschatting onterecht op nul kan uitkomen.
  6. Bij het inlezen van een uitvoerbestand van iBever wordt nu ook de hoedanigheid, het compartiment en de meetwaardecode meegenomen. Vervolgens worden meetreeksen onderscheiden op basis van meetlocatie, parameternaam, meeteenheid, hoedanigheid en compartiment. Deze laatste twee kenmerken worden bij de uitvoer alleen vermeld als deze nodig zijn om de meetreeks te onderscheiden van een andere meetreeks van dezelfde combinatie van meetlocatie, parameternaam en meeteenheid.
  7. Bij het omzetten van een ingelezen meetreeks naar een tijdreeks wordt nu evenwichtiger omgegaan met de keuze tussen de tijdseenheid Vier weken en de tijdseenheid Maand (die liggen zeer dicht bij elkaar). De tijdseenheid Vier weken wordt nu pas verkozen boven de tijdseenheid Maand als dit geen groter percentage ontbrekende waarden oplevert. Zo wordt vermeden dat er bij het omzetten van een meetreeks onnodig ontbrekende waarden in de resulterende tijdreeks worden gecreëerd.
  8. Bij het omzetten van een meetreeks naar een tijdreeks wordt elke tijdreekswaarde toegekend aan het tijdstip halverwege de betreffende tijdseenheid, waarbij de tijd wordt uitgedrukt als jaarfractie. Maar als er sprake is van een tijdreeks die is samengesteld uit een meetreeks met hooguit één meetwaarde per jaar, dan blijft het meettijdstip van een meetwaarde in de tijdreeks gehandhaafd. Dit voorkomt dat er een te grote vertekening van de trendlijn optreedt. En als er sprake is van een tijdreeks die is samengesteld uit een meetreeks met meerdere meetwaarden per jaar, dan wordt de mediaan van de meetwaarden binnen een jaar toegekend aan het mediane meettijdstip van de betrokken meetwaarden. Dit voorkomt misverstanden bij het visueel beoordelen van een tijdreeksplot, want bij toekenning van een jaarwaarde aan het midden van het jaar is de visuele beoordeling lastiger. Zie hiervoor de handleiding, § 3.5.2.
Dit bericht is geplaatst in Trendanalist. Bookmark de permalink.