Analytica (mjukvara)
Utvecklare | Lumina Decision Systems |
---|---|
Initial release | 16 januari 1992 |
Skrivet i | C++ |
Operativ system | Windows |
Plattform | IA-32 , x64 |
Tillgänglig i | engelsk |
Typ | Programvara för beslutsfattande |
Licens | Kommersiell proprietär programvara |
Hemsida |
Analytica är en visuell programvara utvecklad av Lumina Decision Systems för att skapa, analysera och kommunicera kvantitativa beslutsmodeller. Den kombinerar hierarkiska inflytandediagram för visuellt skapande och visning av modeller, intelligenta arrayer för att arbeta med flerdimensionell data, Monte Carlo-simulering för att analysera risker och osäkerhet, och optimering , inklusive linjär och olinjär programmering. Dess design, särskilt dess inflytandediagram och behandling av osäkerhet, bygger på idéer från beslutsanalysområdet . Som ett datorspråk kombinerar det en deklarativ (icke-procedurell) struktur för referenstransparens, arrayabstraktion och automatiskt beroendeunderhåll för effektiv sekvensering av beräkningar.
Hierarkiska inflytandediagram
Analytiska modeller är organiserade som influensdiagram . Variabler (och andra objekt) visas som noder med olika former på ett diagram, sammankopplade med pilar som ger en visuell representation av beroenden. Analytica-inflytandediagram kan vara hierarkiska, där en enda modulnod på ett diagram representerar en hel delmodell.
Hierarkiska inflytandediagram i Analytica fungerar som ett organisatoriskt verktyg. Eftersom den visuella layouten av ett inflytandediagram matchar dessa naturliga mänskliga förmågor både rumsligt och i abstraktionsnivån, kan människor ta in mer information om en modells struktur och organisation på ett ögonblick än vad som är möjligt med mindre visuella paradigm, såsom kalkylblad och matematiska uttryck . Att hantera strukturen och organisationen av en stor modell kan vara en betydande del av modelleringsprocessen, men är väsentligt hjälpt av visualisering av inflytandediagram.
Inflytandediagram fungerar också som ett verktyg för kommunikation. När väl en kvantitativ modell har skapats och dess slutliga resultat beräknats, är det ofta så att en förståelse för hur resultaten erhålls och hur olika antaganden påverkar resultaten, är mycket viktigare än de specifika siffror som beräknas. Analytica ger användare möjligheten att hjälpa målgrupper att förstå dessa aspekter inom sina modeller. Den visuella representationen av ett influensdiagram kommunicerar snabbt en förståelse på en abstraktionsnivå som normalt är mer lämplig än detaljerade representationer som matematiska uttryck eller cellformler. När fler detaljer önskas kan användare gå ner till ökande detaljnivåer, påskyndas av den visuella bilden av modellens struktur.
Förekomsten av en lättbegriplig och transparent modell stödjer kommunikation och debatt inom en organisation, och denna effekt är en av de främsta fördelarna med kvantitativ modellbyggande. När alla intresserade parter kan förstå en gemensam modellstruktur kommer debatter och diskussioner ofta fokusera mer direkt på specifika antaganden, kan minska på "cross-talk" och därför leda till mer produktiva interaktioner inom organisationen. Inflytandediagrammet fungerar som en grafisk representation som kan bidra till att göra modeller tillgängliga för människor på olika nivåer.
Intelligenta flerdimensionella arrayer
Analytica använder indexobjekt för att spåra dimensionerna för flerdimensionella arrayer. Ett indexobjekt har ett namn och en lista med element. När två flerdimensionella värden kombineras, till exempel i ett uttryck som t.ex
Vinst = Intäkter − Kostnader
där intäkter och kostnader är flerdimensionella, upprepar Analytica vinstberäkningen över varje dimension, men känner igen när samma dimension förekommer i båda värdena och behandlar det som samma dimension under beräkningen, i en process som kallas intelligent arrayabstraktion . Till skillnad från de flesta programmeringsspråk finns det ingen inneboende ordning på dimensionerna i en flerdimensionell array. Detta undviker duplicerade formler och explicita FOR-loopar, båda vanliga källor till modelleringsfel. De förenklade uttrycken som möjliggörs av intelligent arrayabstraktion gör att modellen blir mer tillgänglig, tolkbar och transparent.
En annan konsekvens av intelligent arrayabstraktion är att nya dimensioner kan introduceras eller tas bort från en befintlig modell, utan att det krävs förändringar av modellstrukturen eller ändringar av variabeldefinitioner. Till exempel, när man skapar en modell, kan modellbyggaren anta att en viss variabel, till exempel discount_rate , innehåller ett enda tal. Senare, efter att ha konstruerat en modell, kan en användare ersätta det enskilda numret med en tabell med siffror, kanske rabattränta uppdelad efter Land och Ekonomiskt scenario . Dessa nya divisioner kan återspegla det faktum att den effektiva diskonteringsräntan inte är densamma för internationella divisioner av ett företag, och att olika räntor är tillämpliga på olika hypotetiska scenarier. Analytica sprider automatiskt dessa nya dimensioner till alla resultat som beror på discount_rate , så till exempel blir resultatet för Netto nuvärde flerdimensionellt och innehåller dessa nya dimensioner. I huvudsak upprepar Analytica samma beräkning med hjälp av diskonteringsräntan för varje möjlig kombination av Country och Economic_scenario .
Denna flexibilitet är viktig när man utforskar beräkningsavvägningar mellan detaljnivå, beräkningstid, tillgängliga data och övergripande storlek eller dimensionalitet för parametriska utrymmen. Sådana justeringar är vanliga efter att modeller har konstruerats fullt ut som ett sätt att utforska vad-om- scenarier och övergripande samband mellan variabler.
Osäkerhetsanalys
Att införliva osäkerhet i modellutdata hjälper till att ge mer realistiska och informativa prognoser. Osäkra kvantiteter i Analytica kan specificeras med hjälp av en fördelningsfunktion . När de utvärderas samplas distributioner med hjälp av antingen Latin hypercube , Monte Carlo eller Sobol- sampling, sedan sprids proverna genom beräkningarna till resultaten. Den samplade resultatfördelningen och sammanfattningsstatistiken kan sedan ses direkt ( medelvärde , fraktila band , sannolikhetstäthetsfunktion (PDF), kumulativ distributionsfunktion (CDF)), Analytica stöder kollaborativ beslutsanalys och sannolikhetshantering genom användning av SIPMath(tm) standard.
Modellering av systemdynamik
Systemdynamik är ett tillvägagångssätt för att simulera beteendet hos komplexa system över tid. Det handlar om återkopplingsslingor och tidsfördröjningar på hela systemets beteende. Funktionen Dynamic() i Analytica tillåter definition av variabler med cykliska beroenden, såsom återkopplingsslingor. Det utökar influensdiagramnotationen , som normalt inte tillåter cykler. Åtminstone en länk i varje cykel inkluderar en tidsfördröjning, avbildad som en grå påverkanspil för att skilja den från vanliga svarta pilar utan tidsfördröjningar.
Som programmeringsspråk
Analytica innehåller ett allmänt språk med operatorer och funktioner för att uttrycka matematiska samband mellan variabler. Användare kan definiera funktioner och bibliotek för att utöka språket.
Analytica har flera funktioner som programmeringsspråk designat för att göra det enkelt att använda för kvantitativ modellering: Det är ett visuellt programmeringsspråk , där användarna ser program (eller "modeller") som influensdiagram , som de skapar och redigerar visuellt genom att lägga till och länka knutpunkter. Det är ett deklarativt språk , vilket betyder att en modell deklarerar en definition för varje variabel utan att specificera en exekveringssekvens som krävs av konventionella imperativspråk . Analytica bestämmer en korrekt och effektiv exekveringssekvens med hjälp av beroendediagrammet. Det är ett referenstransparent funktionellt språk , i det att exekvering av funktioner och variabler inte har några bieffekter, dvs att ändra andra variabler. Analytica är ett array-programmeringsspråk , där operationer och funktioner generaliseras för att fungera på flerdimensionella arrayer.
Tillämpningar av Analytica
Analytica har använts för policyanalys , affärsmodellering och riskanalys . Områden där Analytica har tillämpats inkluderar energi, hälsa och läkemedel, miljörisk- och utsläppspolicyanalys, förvaltning av vilda djur , ekologi, klimatförändringar, teknik och försvar, strategisk finansiell planering, FoU-planering och portföljförvaltning, finansiella tjänster , flyg , tillverkning och miljökonsekvensbedömning.
Upplagor
Analytica-programvaran körs på Microsoft Windows- operativsystem. Analytica Free Edition är tillgänglig under en obegränsad tid och låter dig bygga modeller med upp till 101 användarobjekt. Analytica Professional, Enterprise, Optimizer är skrivbordsutgåvor med ökande funktionalitet. Analytica Cloud Platform låter användare dela modeller via en server och köra dem via en webbläsare. Analytica 6.1 släpptes 2021.
Historia
Analyticas föregångare, kallad Demos , växte fram från forskningen om verktyg för policyanalys av Max Henrion som doktorand och senare professor vid Carnegie Mellon University mellan 1979 och 1990. Henrion grundade Lumina Decision Systems 1991 tillsammans med Brian Arnold. Lumina fortsatte att utveckla programvaran och tillämpa den på miljö- och offentliga policyanalysapplikationer. Lumina släppte först Analytica som en produkt 1996.
externa länkar
- Array programmeringsspråk
- Datoralgebrasystem
- Matematisk modellering
- Programvara för matematisk optimering
- Numeriska programmeringsspråk
- Numerisk programvara
- Programvara för plottning
- Vetenskaplig programvara
- Science programvara för Windows
- Statistiska programmeringsspråk
- Visuella programmeringsspråk