Programmet ekspansjon:
forklaringer og dokumentasjon

Programmet ekspansjon er skrevet for å estimere en populasjons ekspansjonshastighet ut fra data på populasjonens utbredelse i tid og rom.

Merk at denne siden beskriver programmets version 2.6, som har blitt erstatta av versjon 3.x.

 

 

Innføring og installasjon

R-scriptet krever ingen forkunnskaper om R, men forutsetter at R er installert på maskinen. Her følger en punkt-for-punkt-beskrivelse av bruken:

  • R er et gratis og åpent programmeringsspråk. Det kan lastes ned på http://www.r-project.org. Følg installasjonsveiledninga på nettsida for å installere pakken.
  • Etter at R er installert og starta, kan ekspansjons-scriptet lastes på to måter:
    • skriv load(url("http://www.evol.no/hanno/16/ekspan.rtx")) direkte i R-vinduet (dette krever at datamaskinen er online);
    • bruk nettleseren for å navigere til URL'en http://www.evol.no/hanno/16/ekspan.rtx og lagre filen til maskinen din; skriv så load("...") i R-vinduet, der "..." angir filplasseringa [f.eks. load("c:/aliens/ekspan.rtx") e.l.; dette krever bare at datamaskinen er online ved den første nedlastinga, etterpå kan scriptet lastes fra sin plassering på maskinen].
  • Nå kan scriptet kjøres ved å skrive ekspansjon(...), der "..." representerer parameterne, som forklares i detalj under.

 

Merk at programmet ikke er del av noen R-pakke. Det fins derfor ingen R-hjelp for funksjonen.

 

Programmet krever et datasett som inneholder informasjonen om ekspansjon i tid og rom. Datasettet spesifiseres gjennom parameteren data. Programmet kan dermed ropes opp ved å skrive ekspansjon(data=...), der "..." kan være ett av de følgende tre objektene:

  • (1)   en tekststreng som angir filplasseringen til en datafil;
  • (2)   en datablokk (data.frame);
  • (3)   en matrise.

De to siste løsningene forutsetter at dataene allerede er lest inn i R på annen måte (og er derfor kanskje forbeholdt viderekomne R-brukere). Formateringa av datafila (løsning 1) forklares under. Felles for alle tre løsningene er at dataene må være organisert i kolonner, og at kolonnene må ha navn som er spesifisert i de følgende avsnittene.

  • Én kolonne må inneholde årstall og ha navnet t. Årstall må være angitt som heltall.
  • Plasseringa til observasjonene må angis i én til seks kolonner, avhengig av koordinatsystemet som brukes:

 

Koordinatsystemer

Plasseringa til observasjonene kan angis på seks måter, fordelt på tre ulike koordinatsystemer:

der variabelnavnene har følgende betydning og formatering:

bg Breddegrader – angis som heltall eller desimalbrøk mellom –90 (= 90°S) og +90 (= 90°N).
bm Geografisk bredde i minutter – angis som heltall eller desimalbrøk mellom 0 og 60.
bs Geografisk bredde i sekunder – angis som heltall eller desimalbrøk mellom 0 og 60.
lg Lengdegrader – angis som heltall eller desimalbrøk mellom –180 (= 180°V) og +180 (= 180°Ø).
lm Geografisk lengde i minutter – angis som heltall eller desimalbrøk mellom 0 og 60.
ls Geografisk lengde i sekunder – angis som heltall eller desimalbrøk mellom 0 og 60.
mgrs MGRS-koordinater – angis som tekststreng.
zone UTM-sonen – angis som heltall mellom 1 og 60. (Norge vest for 12°Ø ligger f.eks. i sone 32.)
band MGRS-belte – angis som bokstav mellom "C" og "X". (Norge nord for 64°N ligger f.eks. i belte W, Norge sør for 64°N i belte V.)
id MGRS-identifikator for en 100 km-rute – angis som to bokstaver mellom "AA" og "ZV".
east "Easting" (østlig posisjon) – angis som tall, men kan formateres som tekststreng. Betydning og tillate verdier er noe ulik i UTM og MGRS.
north "Northing" (nordlig posisjon) – angis som tall, men kan formateres som tekststreng. Betydning og tillate verdier er noe ulik i UTM og MGRS.
fylke Fylke – angis som tekststreng. Kan bare brukes for data fra Norge. (Denne variabelen gjør det mulig å bruke MGRS-koordinater, selv om angivelsen av sonen og beltet mangler i datafila. Strengt tatt er det tilstrekkelig å angi "Finnmark" eller "annet".)

 

Eksempel

Koordinatene til Tromsø (69°39'5"N 18°57'19"Ø) kan dermed angis på følgende måter:

  • (1)   {bg=69.65139; lg=18.95528}
  • (2)   {bg=69; bm=39; bs=5; lg=18; lm=57; ls=19}
  • (3)   {mgrs="34WDC2058828390"}
  • (4)   {zone=34; band="W"; id="DC"; east="20588"; north="28390"}
  • (5)   {id="DC"; east="20588"; north="28390"; fylke="Troms"}
  • (6)   {zone=34; east=420588; north=7728390}

 

NB

  • Merk at MGRS-systemet ofte feilaktig refereres til som UTM-system. Men selv om MGRS-systemet bygger på UTM-systemet, angis koordinater på forskjellige måter i de to systemene. Tromsøs UTM-koordinater er 34 420588 7728390. Tromsøs MGRS-koordinater er 34WDC2058828390.
  • Hvis koordinatene angis som UTM eller MGRS, må de respektive standardene følges. (Selv om programmet vil oppdage enkelte åpenbare feil, vil ikke alle tenkelige inkonsistenser siles ut.)
  • For å skille mellom nordlig og sørlig halvkule, brukes fortegn i UTM-koordinatens "northing" (positivt på nordhalvkula og negativt på sørhalvkula; positivt fortegn kan sløyfes).
  • Ledende nuller kan skape problemer for "easting" og "northing" i MGRS-systemet, hvis de faller bort. For å unngå det, bør east og north lagres som tekststreng heller enn tall.
  • Variabelnavnene må være nøyaktig som angitt over.
  • Presisjonen av posisjonsbestemmelsen spiller ingen rolle for tolkninga av koordinatene (men muligens for resultatene).

  • Observasjonene i datasettet kan bruke ulike koordinatsystemer.
  • Hvis flere koordinatsystemer er angitt, ignoreres UTM såfremt MGRS er angitt, og MGRS såfremt bredde- og lengdegrader er angitt.
  • Observasjonenes rekkefølge er uten betydning.
  • Kolonnenes rekkefølge er uten betydning.
  • Ytterligere kolonner ignoreres. (Det kan likevel være en fordel å slette overflødige kolonner før innlesing, nemlig hvis det kan hende at kolonnene inneholder kommaer eller apostrofer.)

 

Formatering av datafil

Leses dataene inn fra en ekstern fil, gjelder følgende:

  • Dataene må være organisert kolonnevis, dvs. fila må bestå av én kolonne per variabel (år og f.eks. geografisk bredde og lengde) og én rad per observasjon.

  • Den første raden må inneholde variabelnavnene (se over for påkrevde variabelnavn).
  • Alle radene må ha like mange skilletegn.
  • Manglende verdier tolereres. De angis ved utelatelse (""), evt. som mellomrom (" "). (Andre tegn, slik som "?" eller "NA" genererer feilmeldinger.)
  • Som skilletegnet mellom kolonnene (dvs. mellom elementene i en rad) må semikolon (;) eller komma (,) brukes. Slike filer kan lages i alle regnearkprogrammer ved å velge "lagre som" ("save as") og så angi "semikolondelt" (evt. "kommadelt", "comma delimited") som "filtype". (Betegnelsen kan variere avhengig av programmet og innstillingene. Slike filer har vanligvis endelsen ".CSV" eller ".SDV".)
  • Symbolet som brukes som skilletegn, må ikke forekomme i andre sammenhenger. Det samme gjelder apostrof ('). Forekommer slike tegn f.eks. i en tekstkolonne, må tegnene enten erstattes eller kolonnen fjernes før innlesing.
  • Parameteren data må være en tekststreng som angir datafilas navn og plassering. Filplasseringa angis som en komplett bane i anførselstegn, f.eks. ekspansjon(data="c:/aliens/data/art12.sdv"). Merk bruk av skråstrek (/) istedenfor omvendt skråstrek (\).
  • Som desimalindikator aksepteres punktum (.). Hvis semikolon (;) brukes som kolonneskilletegn, aksepteres også komma (,) som desimalindikator.
  • Mellomrom tolereres mellom (utenfor) cellene og anførselstegn rundt (på begge sider av) cellene.

 

Eksempel:

  • t;bg;lg
  • 2006;60.00;12,00
  • 2006;60.24;12.76

  • 2007;   61.53;   11.36

  • 2008;62.84;10.92

  • 2010;64.15;12,1

  • 2010;64.84;"12.15"

 

Datasett fra Artskart

Det er mulig å eksportere datasett fra Artskart, som kan brukes til å estimere ekspansjonshastighet. Trinnene er som følger:

  1. Søk opp den relevante arten i Artskart og gjør de ønska avgrensningene (tidsavgrensning, geografisk utvalg, type data e.l.).
  2. Gå til fanen "objektinfo".
  3. Klikk på knappen "eksporter data til Excel" nederst på denne fanen.
  4. Fyll ut eksport-skjemaet og klikk på knappen "eksporter data som CSV-fil".
  5. Det trengs bare tre kolonner fra fila som genereres ("YearCollected", "Longitude" og "Latitude"). Navnene på disse tre kolonnene må endres: Døp om "YearCollected" til t, "Longitude" til lg og "Latitude" til bg.
  6. Slett de øvrige kolonnene. (Flere av dem inneholder tekst med komma eller semikolon, noe som kan skape trøbbel under innlesing.)

Og vipps, så kan fila tjene som innmating for ekspansjon.

 

Parameterne

Parameteren data er forklart i detalj over. Alle resterende parametere er valgfrie, men mtall bør angis, og lagre og p kan være nyttige. Parameterne angis adskilt med komma, etter mønsteret ekspansjon(data="filbane/datafil", mtall=10, lagre=TRUE). Desimaltall i innmatinga må bruke punktum som desimaltegn. Her følger en kort oversikt over parameterne:

data Datasett med sted og tid av observasjoner. Dette er den eneste obligatoriske parameteren. Den er forklart i detalj over.
mtall Mørketallet som gjelder for datasettets siste år, angitt som én eller flere tallverdier. Det er en fordel å angi et kvalifisert anslag på mørketallet, fordi det kan gi mer realistiske estimater. Hvis én tallverdi blir angitt, leter programmet etter det optimale mørketallet rundt dette tallet. Hvis to verdier blir angitt [f.eks. som mtall=c(5,50)], leter programmet etter det optimale mørketallet mellom disse to tallene. Hvis flere verdier blir angitt [f.eks. som mtall=c(2,3,4,5) eller mtall=2:5], prøver programmet ut eksakt de spesifiserte mørketallene. Standardinnstillinga er mtall=c(1,Inf), altså alle tall ≥ 1.
eksakt Sannhetsverdi som angir om det angitte mørketallet skal betraktes som gitt. Ved eksakt=FALSE leter programmet i et intervall rundt det angitte mørketallet. Ved eksakt=TRUE bruker programmet kun det angitte mørketallet (men dette ignoreres om mtall er mer enn ett tall). Standardinnstillinga er FALSE.
p Tall eller tallvektor som angir håndtering av oppdagbarhetsrater. Standard er p=1 og innebærer antagelsen at oppdagbarheten ikke endrer seg over tid. Ved p=2 estimeres to oppdagbarhetsrater for hvert sitt tidsintervall, der også selve bruddpunktet estimeres fra dataene. Settes p=3, prøves de to nevnte variante etter tur og den beste blir valgt (basert på AICc). Hvis p angis som vektor med lengde > 100, tolkes den som en tidsserie med årlige verdier på innsamlingsinnsatsen, som begynner i år 1800. Det som i så fall estimeres, er proporsjonalitetsfaktoren mellom innsamlingsinnsats og oppdagbarhet.
rask Sannhetsverdi som angir om estimeringa ved p=2 (eller 3) skal være rask (standardinnstilling) eller fullstendig. Hvis det estimerte bruddpunktet ser ut til å bomme totalt, bør rask settes =FALSE. Parameteren ignoreres om p har en annen verdi enn 2 eller 3.
ny.obs Sannhetsverdi eller tall som angir om bare nye observasjoner er angitt i datafila. Standard er ny.obs=TRUE og innebærer at forekomster bare er oppført i året de observeres for første gang; forekomstene antas i så fall å ikke forsvinne igjen. Skriv ny.obs=FALSE hvis datasettet fører opp hver forekomst for hvert år av dens eksistens – dette muliggjør modellering av arter som har delpopulasjoner med kort levetid eller av arter som er utsatt for kontroll-/utryddelsestiltak. Ved efemere arter (som ofte forsvinner i løpet av ett år), bør ny.obs settes til −1 (i så fall produseres bare deskriptiv statistikk; noen estimering av forløpet er foreløpig ikke implementert).
mek [ikke implementert ennå]
form [ikke implementert ennå]
kart Sannhetsverdi som angir om et kart over observasjonene skal vises. Standard er kart=TRUE. Skriv kart=FALSE for å slå av visninga.
hold.munn Sannhetsverdi som slår av beskjeder og advarsler hvis den settes lik TRUE. (Ved hold.munn=-1 rapporteres flere detaljer.)
lagre Sannhetsverdi eller tekststreng som angir om dataene skal lagres etter å ha blitt transformert til bredde- og lengdegrader. Dermed slipper man å transformere dataene ved hver kjøring av programmet. Tekststrengen må i så fall angi filnavnet. Standardinnstillinga er lagre=FALSE.
data.ut Sannhetsverdi eller bokstav som kan endre scriptets funksjonsverdi. Ved data.ut=FALSE, som er standardinnstillinga, er det ekspansjonshastigheten som er scriptets funksjonsverdi. Hvis data.ut=TRUE eller data.ut="A", blir sciptets funksjonsverdi endra til en matrise med de årlige estimatene på forekomstareal, slik de fremgår av grafen. Matrisens kolonner er aar (som inneholder årstall), prikk (som inneholder det observerte forekomstarealet i et gitt år, dvs. grafens prikker), blaa (som inneholder de tilpassa verdiene på kjent forekomstareal i et gitt år, dvs. grafens blå linje) og roed (som inneholder de estimerte totale forekomstarealene inkludert mørketall i et gitt år, dvs. grafens røde linje). Ved data.ut="r" blir funksjonsverdien en matrise med de samme kolonnene, men med radius istedenfor areal. Arealer blir angitt i km², radiuser i km. Husk at funksjonsverdien må tilordnes til en ny variabel vha. pilsymbolet "<-", f.eks. datapunkt <- ekspansjon(...).
gamma Tall mellom 0 og 1 som angir konfidensintervallenes omfang (γ). Standard er gamma=0.5, som beregner kvartiler. Med gamma=0.95 beregnes 95 %-konfidensintervaller.

Flere parametere kan angis, men vil sjelden behøves. Hittil er implementert:

  • R (jordens radius i kilometer; brukes ved estimering av utbredelsesområdet; standardinnstillinga er den gjennomsnittlige radiusen til WGS 84-ellipsoiden, dvs. R=6371),
  • A0 (arealet til én rutecelle av forekomstarealet i kvadratkilometer; standardinnstillinga er A0=4),
  • spraak (tekststreng som tillater å skifte fra norsk til engelsk utmating; tilsvarende eksisterer parameterne dark.fig = mtall, exact = eksakt, fast = rask, new.obs = ny.obs, mech = mek, map = kart, quiet = hold.munn, save = lagre og language = spraak),
  • dist (tekststreng som bestemmer om optimaliseringa bygger på en normal- eller binomialfordeling),
  • DeltaAICc (antall AICc-enheter som forskjellen mellom modellene må være for at p=2 velges fremfor p=1; standardinnstillinga er 0),
  • kontr1 og kontr2 (lister med kontrollparameterne som styrer optimaliseringa).

 

Utmating (output)

Før selve estimeringa produserer funksjonen en oppsummering av datagrunnlaget og modellets antagelser (som kan slås av ved hjelp av parameteren hold.munn). Funksjonens verdi er et tall, som er populasjonens ekspansjonshastighet i meter per år. Utmatinga som vises direkte på skjermen, består av estimater (forventningsverdi samt nedre og øvre konfidensgrense) for:

  • ekspansjonshastighet i meter per år (m/a),
  • kjent forekomstareal i km²,
  • estimert forekomstareal i km² (kjent forekomstareal ganger mørketall),
  • mørketall,
  • utbredelsesområdet i km² (ikke korrigert for kyst og grenser),
  • startåret for ekspansjonen,
  • oppdagbarhetsraten(e),
  • forklart varians (R²),
  • Akaikes informasjonskriterium (AICc).

NB: Utmatinga bruker ikke tusenskilletegn. Alle komma eller punktum i tall er altså desimalkomma.

 

Dokumentasjon og definisjoner

Med ekspansjon menes her antall nye forekomster per tidsenhet (der "forekomster" er koloniserte 2 km × 2 km-ruter). Ekspansjon omfatter dermed enhver form for spredning eller forflytning av arten (uansett måte, årsak og spredningsvei, dvs. inkludert aktive og passive, naturlige og antropogene, tilsikta og utilsikta forflytninger).

Matematisk sett beskrives ekspansjonshastighet som den årlige radiusøkninga av artens forekomstareal (der radiusen beregnes som om forekomstarealet var en sammenhengende sirkel som inneholder alle forekomster og bare forekomster). Modellen som programmet er basert på, har blitt beskrevet av Sandvik (Acta Biotheor, 2019).

I økologiske risikovurderinger av fremmede arter ifølge GEIAA-metoden inngår ekspansjonshastighet som kriterium B på invasjonsaksen. Se Artsdatabankens Retningslinjer for økologisk risikovurdering av fremmede arter for utfyllende forklaringer.

 

Om programmet

Programmet ekspansjon er skrevet av Hanno Sandvik ved Senter for biodiversitetsdynamikk, NTNU (fra og med versjon 2.5 ved NINA).

Merk at denne siden beskriver programmets version 2.6, som har blitt erstatta av versjon 3.x.

 

Takksigelse

Uten de tallrike og detaljerte tilbakemeldingene fra Hanne Hegre hadde aldri programmet oppnådd den nåværende funksjonaliteten.

 

Oversikt over eldre og nyere versjoner:

  • Versjon 2.0 (desember 2016)
    • Ved overgangen fra versjon 1.4 til 2.0 ble den nye definisjonen på ekspansjon som årlig økning i forekomstarealet implementert.
  • Versjon 2.1 (januar 2017)
    • beregning av konfidensintervaller
    • mer intuitive standardinnstillinger
    • retting av noen "teger" (bugs) som genererte unødvendige feilmeldinger
  • Versjon 2.2 (februar 2017)
    • utmating av utbredelsesområdet
    • mulighet for utmating av datasettet bak grafen
    • justering av konvergenstoleransen, slik at flere konfidensintervaller blir estimerbare
  • Versjon 2.3 (mars 2017)
    • mulighet for å angi årlig innsamlingsinnsats som kovariat for oppdagbarhetsraten
    • forbedra estimering av konfidensintervaller når mørketallet er angitt
    • implementering av en raskere estimering ved p=2
  • Versjon 2.4 (april 2017)
    • implementering av ny.obs=FALSE
    • mulighet til å overstyre den raske estimeringa ved p=2
    • retting av en "tege" ved beregning av utbredelsesområdet
  • Versjon 2.5 (august 2017)
    • begrensning av mørketallenes konfidensintervall til de spesifiserte mørketallene
    • angivelse av estimater som AICc-baserte modell-gjennomsnitt
    • implementering av p=3 (AICc-basert valg mellom p=1 og p=2)
  • Versjon 2.6 (september 2017)
    • mulighet til å angi mørketall som intervall også under p=2 og p=3
    • justering i optimaliseringa som unngår altfor tidlige startår for ekspansjonen
    • grafisk visning av konfidensintervallene
  • Versjon 3.0 (oktober 2021)