Modell aus @RISK, ModelRisk oder Analytic Solver übernehmen
xellstorm öffnet eine Datei, die für @RISK, ModelRisk oder Analytic Solver gebaut wurde, auch ohne das Add-In. Es liest 164 ihrer Verteilungsfunktionen und macht aus jeder Formel eine Eingangsgröße, deren Parameter mit den Zellen verknüpft bleiben. Vor dem Lauf zeigt es, was es umgewandelt hat und welche Formeln es ausgelassen hat – jeweils mit Begründung.
Von den 164 Funktionen stammen 53 aus @RISK, 62 aus ModelRisk und 49 aus Analytic Solver. Dazu kommen 65 Formen, die eine Verteilung über ihre Perzentile festlegen. Außerdem liest xellstorm Trunkierung, Markierungen für Ausgangsgrößen, Korrelationsmatrizen und Tabellen für mehrere Simulationen.
Was der Import in einer für @RISK geschriebenen Datei findet
Das Beispiel enthält die Gebäudeschätzung aus dem Praxisbeispiel Projekt-Risikozuschlag, geschrieben wie ein Modell für @RISK: Jede Kostenposition ist =RiskPert(min, most likely, max, RiskName(label)) auf den Zellen ihrer Zeile, jedes Risikoereignis ein RiskBernoulli auf seine Wahrscheinlichkeit. Die Gesamtkosten und die Überschreitung sind mit RiskOutput markiert, Rohbau und Haustechnik über RiskCorrmat korreliert, drei Budgets stehen in einer RiskSimtable, und eine Zelle meldet RiskMean der Gesamtkosten. Ein zweites Tabellenblatt, „Demonstrations“, enthält fünf einzelne Formeln: zwei arithmetische Formen, die sich umwandeln lassen, und drei, die sich nicht umwandeln lassen. Ein Skript hat die Datei erzeugt; xellstorm braucht zum Lesen kein @RISK, und Sie auch nicht.
In der App listet Import from workbook im Schritt „Distributions“ (Verteilungen) die gefundenen Formeln auf; auf der Kommandozeile gibt xellstorm import dieselbe Liste aus. Für diese Datei werden 12 Eingangsgrößen umgewandelt: die 6 Kostenpositionen, die 4 Risikoereignisse und 2 arithmetische Demonstrationen. Bei Kostenpositionen und Risikoereignissen bleiben die Parameter mit den Zellen verknüpft: Ändern Sie in der Datei ein Min oder eine Wahrscheinlichkeit, gilt das schon im nächsten Lauf. RiskName(A3) benennt jede Eingangsgröße nach dem Text ihrer Zeile. Die beiden Demonstrationen sind eine mit einem Faktor multiplizierte Normalverteilungs-Ziehung und eine Ziehung, deren Mittelwert aus einer anderen Zelle berechnet wird. Keine von beiden geht in die Ausgangsgrößen der Schätzung ein.
| Zelle | Formel in der Datei | Wird zu |
|---|---|---|
| E3 | =RiskPert(B3, | Erdarbeiten: eine PERT-Verteilung mit Min B3 (100), Wahrscheinlich C3 (120), Max D3 (170) |
| E4 | =RiskPert(B4, | Fundament: eine PERT-Verteilung mit Min B4 (300), Wahrscheinlich C4 (340), Max D4 (460) |
| E5 | =RiskPert(B5, | Rohbau: eine PERT-Verteilung mit Min B5 (760), Wahrscheinlich C5 (820), Max D5 (1.010) |
| E6 | =RiskPert(B6, | Haustechnik: eine PERT-Verteilung mit Min B6 (540), Wahrscheinlich C6 (610), Max D6 (780) |
| E7 | =RiskPert(B7, | Ausbau: eine PERT-Verteilung mit Min B7 (400), Wahrscheinlich C7 (450), Max D7 (560) |
| E8 | =RiskPert(B8, | Ausstattung: eine PERT-Verteilung mit Min B8 (260), Wahrscheinlich C8 (280), Max D8 (330) |
| D11 | =RiskBernoulli(B11, | Baugrundverhältnisse: eine Bernoulli-Verteilung mit der Wahrscheinlichkeit B11 (0,25) |
| D12 | =RiskBernoulli(B12, | Planänderung: eine Bernoulli-Verteilung mit der Wahrscheinlichkeit B12 (0,35) |
| D13 | =RiskBernoulli(B13, | Lieferverzug: eine Bernoulli-Verteilung mit der Wahrscheinlichkeit B13 (0,2) |
| D14 | =RiskBernoulli(B14, | Unwetter: eine Bernoulli-Verteilung mit der Wahrscheinlichkeit B14 (0,3) |
| Demonstrations!B3 | =RiskNormal(100, | eine Normalverteilung mit Mittelwert 100 und Standardabweichung 10, dann die Ziehung mit 1,1 multiplizieren; nur Demonstration, wird von der Schätzung nicht verwendet |
| Demonstrations!B4 | =RiskNormal(Estimate!C3*1.1, | eine Normalverteilung mit Mittelwert Estimate!C3*1.1 (132) und Standardabweichung 10; nur Demonstration, wird von der Schätzung nicht verwendet |
Derselbe Import liest den Rest des Modells:
- Ausgangsgrößen. Die mit
RiskOutput("Total cost")undRiskOutput("Over budget")markierten Zellen werden zu Ausgangsgrößen mit diesen Namen. Der Marker addiert wie in @RISK den Wert 0, die Zellen rechnen also ganz normal. - Korrelation.
RiskCorrmat(Correlation,1)undRiskCorrmat(Correlation,2)ordnen Rohbau und Haustechnik der Matrix mit dem Namen Correlation zu; sie haben eine Rangkorrelation von 0,6 (ausgefüllt ist nur das untere Dreieck, eine leere Zelle liest xellstorm an ihrem Spiegelbild an der Diagonale ab). Der Import liest den Wert so aus der Matrix, wie die Datei ihn beim Import enthält, und weist darauf hin. - Simulationen. In @RISK nimmt das Budget mit
RiskSimtable({2900,3000,3100})in jeder Simulation einen anderen Wert an. xellstorm hält das Budget im Basislauf bei 2.900 und fügt die beiden anderen Werte als Szenarien hinzu. Sie ziehen dieselben Zufallszahlen wie der Basislauf und unterscheiden sich daher nur im Budget. - Statistiken.
RiskMeanmeldet wie andere Funktionen dieser Art ein Ergebnis in eine Zelle zurück. Es ist keine Verteilung und steht deshalb nicht unter den nicht umgewandelten Formeln. Außerhalb von @RISK hat die Zelle keinen Wert (die Kompatibilitätsprüfung nennt sie); den Mittelwert zeigen die Ergebnisse von xellstorm.
Formeln, die sich nicht umwandeln lassen, stehen ebenfalls in der Liste. Zu allen 3 auf dem zweiten Tabellenblatt nennt der Import die Begründung, und für jede gibt es einen Ausweg:
| Formel | Angegebener Grund | Was zu tun ist |
|---|---|---|
=RiskBinomial(1, | multiple distributions in one formula are not converted; give each distribution its own input cell (sinngemäß: Mehrere Verteilungen in einer Formel werden nicht umgewandelt; geben Sie jeder Verteilung eine eigene Eingabezelle) | Teilen Sie sie auf: eine Zelle =RiskBernoulli(0.3) dafür, ob das Risiko eintritt, eine =RiskTriang(20,40,80) für seine Auswirkung, und multiplizieren Sie beide in einer dritten, wie es die Risikoereignisse der Schätzung tun. |
=RISKCOMPOUND(RiskPoisson(3), | RISKCOMPOUND has no exact xellstorm equivalent (sinngemäß: RISKCOMPOUND hat keine exakte Entsprechung in xellstorm) | xellstorm kennt keine zusammengesetzte Verteilung. Bilden Sie die Anzahl und die Größen in eigenen Zellen ab oder lassen Sie die Zelle aus dem Modell weg. |
=RISKPERTALT(10%, | RISKPERTALT has no exact xellstorm equivalent (sinngemäß: RISKPERTALT hat keine exakte Entsprechung in xellstorm) | Geben Sie Min, Wahrscheinlich und Max der PERT-Verteilung ein (RiskPert), oder übergeben Sie die Perzentile an RiskTrigen, das umgewandelt wird. |
Das umgewandelte Modell simulieren
Mit den importierten Einstellungen und 5.000 Iterationen liegen die durchschnittlichen Gesamtkosten bei 2.784,7 (Tsd. USD). Der exakte Mittelwert derselben Verteilungen – die PERT-Mittelwerte (Min + 4 × Wahrscheinlich + Max) / 6 plus Wahrscheinlichkeit mal Auswirkung jedes Risikos – beträgt 2.784,7, der Standardfehler des simulierten Mittelwerts 1,7. Rohbau und Haustechnik erreichen eine Rangkorrelation von 0,60. Die drei Budgets der RiskSimtable, als Basislauf und zwei Szenarien gerechnet:
| Lauf | Budget | Wahrscheinlichkeit der Überschreitung |
|---|---|---|
| Basislauf (Simulation 1) | 2.900 | 17,7 % |
| Simulation 2 | 3.000 | 5,2 % |
| Simulation 3 | 3.100 | 0,7 % |
Ein größeres Budget wird seltener überschritten. Weil die Szenarien dieselben Zufallszahlen ziehen wie der Basislauf, gehen die Unterschiede zwischen den Zeilen allein auf das Budget zurück, nicht auf die Stichprobe.
Stimmen die Ergebnisse mit denen des Add-Ins überein?
Das Modell ist dasselbe, die Zufallszahlen sind es nicht. Jede Importregel ordnet einer Funktion die Verteilung zu, die sie beschreibt, und übersetzt die Parameter so, wie der Hersteller sie dokumentiert; getestet wird jede Regel gegen die entsprechende scipy-Verteilung. Das Skript, das die Testdaten erzeugt, prüft außerdem den Mittelwert jeder Zuordnung gegen die dokumentierte Formel des Herstellers. Wenn also jede Verteilung einer Datei umgewandelt ist, unterscheiden sich Mittelwerte und Perzentile von denen des Add-Ins nur durch das Stichprobenrauschen. Es wird mit mehr Iterationen kleiner; der Standardfehler oben zeigt, in welcher Größenordnung es beim Mittelwert liegt.
Korrelationen sind Rangkorrelationen, wie @RISK und Analytic Solver sie definieren, und xellstorm trifft die verlangte Rangkorrelation. Wie die Ziehungen dafür einander zugeordnet werden, macht jedes Werkzeug auf seine Weise. Ein korreliertes Modell kann deshalb an den Enden der Verteilung etwas stärker abweichen, als das Stichprobenrauschen allein erklärt. Die Excel-Datei selbst bleibt unverändert: xellstorm liest sie nur, und das Modell öffnet sich weiterhin im Add-In.
Was umgewandelt wird
- Verteilungen und arithmetische Argumente. Eine Verteilung kann allein stehen oder mit einem positiven Faktor multipliziert und danach um höchstens einen Summanden erhöht oder verringert werden:
RiskNormal(B1*1.1,B2)*C1+5und5+C1*RiskNormal(B1,B2)werden umgewandelt. Argumente, Faktoren und Summanden dürfen aus Zahlen, Verweisen auf einzelne Zellen, Klammern und+,−,*,/bestehen. Definierte Namen, die sich auf eine Zelle beziehen, werden zu deren Adresse. Diese Ausdrücke bleiben verknüpft und werden ausgewertet, nachdem die festen Zellen des jeweiligen Szenarios gesetzt sind; jeder Verweis muss deterministisch sein. Die in der Tabelle mit † markierten Funktionen werden nur mit Zahlen umgewandelt. - Perzentilformen. Die
…Alt- und…AltD-Funktionen von @RISK und die…Alt-Funktionen von Analytic Solver (die in der Tabelle unten) geben eine Verteilung über ihre Perzentile an; xellstorm löst die Verteilung beim Lauf exakt auf und meldet einen Fehler, wenn keine oder mehr als eine Verteilung dazu passt. - Trunkierung und Verschiebung.
RiskTruncate,RiskTruncate2,RiskTruncateP,RiskShift,VoseXBounds,VosePBounds,VoseShift,PsiTruncate,PsiTruncatePundPsiShift, angewendet in der Reihenfolge, die das jeweilige Add-In dokumentiert. Ein Faktor oder Summand außerhalb der Verteilung gilt danach und wird in den Einstellungen der Eingangsgröße gesondert angezeigt. - Namen und Sperren.
RiskName,PsiNameundVoseInputbenennen die Eingangsgröße;RiskLockhält sie bei einem festen Wert. Der Katalog nennt außerdem Eigenschaften, die xellstorm ignoriert (Static, Units, Category, Collect, Base, Seed, IsDiscrete, IsDate, Fit, FitInfo, Certify, BaseCase, Library und SixSigma, mit dem Herstellerpräfix).RiskSeedlöst eine Warnung aus: Dessen Einstellungen für den Zufallsstrom werden nicht übernommen. Welche Zahlen xellstorm zieht, bestimmen der Seed der Simulation und die Reihenfolge der Eingangsgrößen. - Ausgangsgrößen.
RiskOutput,VoseOutput,PsiOutputundPsiSimOutputmarkieren Ausgangsgrößen; in Analytic Solver macht eine Statistik wiePsiMean(B1)B1 ebenfalls zur Ausgangsgröße, und xellstorm macht es genauso. - Korrelationen und Simulationen.
RiskCorrmat,RiskDepCmitRiskIndepC,PsiCorrMatrix,PsiCorrDepenmitPsiCorrIndep;RiskSimtable,VoseSimTableundPsiSimParam. - Excels eigene Formeln.
NORM.INV(RAND(), mean, sd),RANDBETWEEN,IF(RAND() < p, 1, 0)und weitere, insgesamt 18 solche Formen (Liste unten).
Was nicht umgewandelt wird
Nicht umgewandelt werden mehrere Verteilungen in einer Zelle, eine Verteilung innerhalb einer anderen Funktion oder in einem Nenner, die direkte Division einer Verteilung sowie Ketten, bei denen sich die Reihenfolge der Rechenschritte ändern müsste. Sie bleiben mit einer Begründung stehen, zum Beispiel (RiskNormal(0,1)+5)*2 und RiskNormal(0,1)*2*3. RiskNormal(0,1)*(1/C1) dagegen wird umgewandelt, wenn C1 einen endlichen positiven Faktor ergibt, weil die Formel den Kehrwert ausdrücklich vor dem Multiplizieren berechnet. Ebenfalls nicht unterstützt sind Faktoren, die null oder negativ ausfallen, Argumente, die Funktionen aufrufen oder von Zufallszellen abhängen, Funktionen ohne exakte Entsprechung (zusammengesetzte Verteilungen, Zeitreihenfunktionen, RiskPertAlt und die anderen Perzentilformen mit zwei Formparametern), das U-Argument und die Copulas von ModelRisk sowie Eigenschaften, die nicht in der Tabelle stehen. Eine nicht unterstützte Add-In-Formel kann die Engine nicht berechnen; die Kompatibilitätsprüfung nennt sie.
Unterstützte Funktionen
Die Tabellen entstehen aus der Regelliste des Importers selbst und zeigen daher genau, was er umwandelt. „Perzentile“ markiert die Formen, die eine Verteilung über ihre Perzentile angeben; † markiert die Funktionen, die nur mit Zahlen umgewandelt werden. Unter jeder Verteilung steht ihr Name in den xellstorm-Spezifikationen.
| Verteilung (xellstorm-Name) | @RISK | ModelRisk | Analytic Solver |
|---|---|---|---|
Bernoullibern | RiskBernoulli | VoseBernoulli | PsiBernoulli |
Betabeta | RiskBetaRiskBetaGeneralRiskBetaSubj† | VoseBetaVoseBeta4VoseBetaSubj† | PsiBetaPsiBetaGenPsiBetaSubj† |
Binomialbinom | RiskBinomial | VoseBinomial | PsiBinomial |
Burr XIIburr12 | RiskBurr12 | — | — |
Cauchycauchy | RiskCauchyPerzentile: RiskCauchyAltRiskCauchyAltD | VoseCauchy | — |
Chi-Quadratchi2 | RiskChiSqPerzentile: RiskChiSqAltRiskChiSqAltD | VoseChiSq | PsiChiSquarePerzentile: PsiChiSquareAlt |
Chi, Maxwellchi | — | VoseChiVoseMaxwell | — |
Kumulativcumul | RiskCumulRiskCumulD† | VoseCumulAVoseCumulD†VoseOgive† | PsiCumul |
Dagum (Burr III)burr | RiskDagum | VoseDagum | PsiDagum |
Diskretcustom | RiskDiscreteRiskDUniform | VoseDiscreteVoseDUniform | PsiDiscretePsiDisUniform |
Exponentialexpon | RiskExponPerzentile: RiskExponAltRiskExponAltD | VoseExponVoseExponential | PsiExponentialPerzentile: PsiExponentialAlt |
Extremwert (Max, Gumbel)gumbel_r | RiskExtValuePerzentile: RiskExtValueAltRiskExtValueAltD | VoseExtValueMax | PsiMaxExtremePerzentile: PsiMaxExtremeAlt |
Extremwert (Min)gumbel_l | RiskExtValueMinPerzentile: RiskExtValueMinAltRiskExtValueMinAltD | — | PsiMinExtremePerzentile: PsiMinExtremeAlt |
Ff | RiskF | VoseF | PsiFDist |
Ermüdungslebensdauer (Birnbaum–Saunders)fatiguelife | RiskFatigueLifePerzentile: RiskFatigueLifeAltRiskFatigueLifeAltD | VoseFatigue | PsiFatigueLifePerzentile: PsiFatigueLifeAlt |
Fréchetinvweibull | RiskFrechetPerzentile: RiskFrechetAltRiskFrechetAltD | — | PsiFrechetPerzentile: PsiFrechetAlt |
Gamma, Erlanggamma | RiskGammaRiskErlangPerzentile: RiskGammaAltRiskGammaAltD | VoseGammaVoseErlang | PsiGammaPsiErlangPerzentile: PsiGammaAlt |
Allgemein (relative Gewichte)general | RiskGeneral | VoseRelative | — |
Verallgemeinerte Paretogenpareto | — | VoseGPD | — |
Histogrammhistogram | RiskHistogrm | VoseHistogram | PsiHistogram |
Hyperbolischer Sekanshypsecant | RiskHypSecantPerzentile: RiskHypSecantAltRiskHypSecantAltD | VoseHS | PsiHypSecant |
Hypergeometrischhypergeom | RiskHypergeo | VoseHypergeo | PsiHyperGeo |
Ganzzahlige Gleichverteilungrandint | RiskIntUniform | VoseIntUniformVoseStepUniform† | PsiIntUniform |
Inverse Gaußinvgauss | RiskInvgaussPerzentile: RiskInvgaussAltRiskInvgaussAltD | VoseInvGauss | PsiInvNormal |
Johnson SBjohnsonsb | RiskJohnsonSB | VoseJohnsonB | PsiJohnsonSB |
Johnson SUjohnsonsu | RiskJohnsonSU | VoseJohnsonU | PsiJohnsonSU |
Kumaraswamykumaraswamy | RiskKumaraswamy | VoseKumaraswamyVoseKumaraswamy4 | PsiKumaraswamy |
Laplacelaplace | RiskLaplacePerzentile: RiskLaplaceAltRiskLaplaceAltD | VoseLaplace | — |
Lévylevy | RiskLevyPerzentile: RiskLevyAltRiskLevyAltD | VoseLevy | PsiLevyPerzentile: PsiLevyAlt |
Log-logistischfisk | RiskLogLogisticPerzentile: RiskLogLogisticAltRiskLogLogisticAltD | VoseLogLogistic | PsiLogLogisticPerzentile: PsiLogLogisticAlt |
Logistischlogistic | RiskLogisticPerzentile: RiskLogisticAltRiskLogisticAltD | VoseLogistic | PsiLogisticPerzentile: PsiLogisticAlt |
Lognormallognorm | RiskLognormRiskLognorm2Perzentile: RiskLognormAltRiskLognormAltD | VoseLognormalVoseLognormalE | PsiLogNormalPsiLognormPsiLognorm2Perzentile: PsiLogNormalAlt |
Negativ binomial, geometrischnbinom | RiskGeometRiskNegbin | VoseGeometricVoseNegBinVoseNegBinomVosePolya† | PsiGeometricPsiNegBinomial |
Normalnorm | RiskNormalRiskErf†Perzentile: RiskNormalAltRiskNormalAltD | VoseNormalVoseErf† | PsiNormalPsiErf†Perzentile: PsiNormalAlt |
Paretopareto | RiskParetoPerzentile: RiskParetoAltRiskParetoAltD | VosePareto | PsiParetoPerzentile: PsiParetoAlt |
Pareto II (Lomax)lomax | RiskPareto2Perzentile: RiskPareto2AltRiskPareto2AltD | VosePareto2 | PsiPareto2Perzentile: PsiPareto2Alt |
Pearson V (inverse Gamma)invgamma | RiskPearson5Perzentile: RiskPearson5AltRiskPearson5AltD | VosePearson5 | PsiPearson5Perzentile: PsiPearson5Alt |
Pearson VI (Beta-Prime)betaprime | RiskPearson6 | VosePearson6 | PsiPearson6 |
PERTpert | RiskPert | VosePERTVoseModPERT | PsiPert |
Poissonpoiss | RiskPoisson | VosePoisson | PsiPoisson |
Rayleighrayleigh | RiskRayleighPerzentile: RiskRayleighAltRiskRayleighAltD | VoseRayleigh | PsiRayleighPerzentile: PsiRayleighAlt |
Reziprok (log-gleichverteilt)loguniform | RiskReciprocal | VoseReciprocal | PsiReciprocal |
Studentsche tt | RiskStudentPerzentile: RiskStudentAltRiskStudentAltD | VoseStudentVoseStudent3† | PsiStudentPerzentile: PsiStudentAlt |
Dreiecktriang | RiskTriang | VoseTriangle | PsiTriangular |
Dreieck aus Perzentilen (Trigen)trigen | RiskTrigenPerzentile: RiskTriangAlt | VoseTriangleAlt | PsiTriangGen |
Gleichverteilungunif | RiskUniformPerzentile: RiskUniformAltRiskUniformAltD | VoseUniform | PsiUniform |
Weibullweibull_min | RiskWeibullPerzentile: RiskWeibullAltRiskWeibullAltD | VoseWeibullVoseWeibull3 | PsiWeibullPerzentile: PsiWeibullAlt |
| Formel | xellstorm |
|---|---|
=NORM.INV(RAND(), | norm (loc, scale) |
=NORMINV(RAND(), | norm (loc, scale) |
=mean + sd*NORM.S.INV(RAND()) | norm (loc, scale) |
=LOGNORM.INV(RAND(), | lognorm (mu, sigma) |
=LOGINV(RAND(), | lognorm (mu, sigma) |
=GAMMA.INV(RAND(), | gamma (a, scale) |
=GAMMAINV(RAND(), | gamma (a, scale) |
=BETA.INV(RAND(), | beta (a, b) |
=BETA.INV(RAND(), | beta (a, b, min, max) |
=BETAINV(RAND(), | beta (a, b, min, max) |
=BINOM.INV(n, | binom (n, p) |
=CRITBINOM(n, | binom (n, p) |
=RANDBETWEEN(a, | randint (min, max) |
=a + (b - a)*RAND() | unif (min, max) |
=a + s*RAND() | unif (loc, scale) |
=RAND() | unif |
=IF(RAND() < p, | bern (p) |
=IF(RAND() < p,† | custom (x, prob) |
| Funktion | Add-In | Wird in xellstorm zu |
|---|---|---|
RiskTruncate | @RISK | Trunkierung: truncate_min, truncate_max (vor einer Verschiebung) |
RiskTruncate2 | @RISK | Trunkierung: truncate_min, truncate_max der verschobenen Werte (um die Verschiebung zurückgerechnet) |
RiskTruncateP | @RISK | Trunkierung: truncate_pmin, truncate_pmax (Perzentile der Verteilung) |
RiskShift | @RISK | Verschiebung: shift |
RiskName | @RISK | Name: der Name der Eingangsgröße |
RiskLock | @RISK | Sperre: ein fester Wert (RiskLock(v) oder der Wert von RiskStatic) |
RiskCorrmat | @RISK | Korrelation: Rangkorrelationen zwischen den Eingangsgrößen einer Matrix |
RiskDepC | @RISK | Korrelation: eine Rangkorrelation mit der Eingangsgröße desselben Paarnamens |
RiskIndepC | @RISK | Korrelation: eine Rangkorrelation mit der Eingangsgröße desselben Paarnamens |
RiskSimtable | @RISK | Ein Wert pro Simulation: eine feste Zelle im Basislauf, ein Szenario pro weiterer Simulation |
RiskOutput | @RISK | Ausgangsgröße: eine Ausgangsgröße mit dem angegebenen Namen |
VoseXBounds | ModelRisk | Trunkierung: truncate_min, truncate_max (vor einer Verschiebung) |
VosePBounds | ModelRisk | Trunkierung: truncate_pmin, truncate_pmax (Perzentile der Verteilung) |
VoseShift | ModelRisk | Verschiebung: shift |
VoseInput | ModelRisk | Name: der Name der Eingangsgröße |
VoseSimTable | ModelRisk | Ein Wert pro Simulation: eine feste Zelle im Basislauf, ein Szenario pro weiterer Simulation |
VoseOutput | ModelRisk | Ausgangsgröße: eine Ausgangsgröße mit dem angegebenen Namen |
PsiTruncate | Analytic Solver | Trunkierung: Typ 1 (Standard): truncate_min, truncate_max vor einer Verschiebung; -1: der verschobenen Werte; 3: truncate_pmin, truncate_pmax |
PsiTruncateP | Analytic Solver | Trunkierung: truncate_pmin, truncate_pmax (Perzentile der Verteilung) |
PsiShift | Analytic Solver | Verschiebung: shift |
PsiName | Analytic Solver | Name: der Name der Eingangsgröße |
PsiCorrMatrix | Analytic Solver | Korrelation: Rangkorrelationen zwischen den Eingangsgrößen einer Matrix |
PsiCorrDepen | Analytic Solver | Korrelation: eine Rangkorrelation mit der Eingangsgröße desselben Paarnamens |
PsiCorrIndep | Analytic Solver | Korrelation: eine Rangkorrelation mit der Eingangsgröße desselben Paarnamens |
PsiSimParam | Analytic Solver | Ein Wert pro Simulation: eine feste Zelle im Basislauf, ein Szenario pro weiterer Simulation |
PsiOutput | Analytic Solver | Ausgangsgröße: die Zelle selbst oder die Zellen, auf die sie verweist |
PsiSimOutput | Analytic Solver | Ausgangsgröße: die Zelle selbst oder die Zellen, auf die sie verweist |
PsiMean | Analytic Solver | Statistik: Die Zelle ihres ersten Arguments wird zur Ausgangsgröße (wie bei jeder Psi-Statistik einer Ausgangsgröße) |
Häufige Fragen
Muss @RISK, ModelRisk oder Analytic Solver installiert sein?
Nein. xellstorm liest die Formeln aus der .xlsx-Datei selbst und berechnet das Modell mit der eigenen Engine im Browser, ohne Excel und ohne das Add-In. Speichern Sie .xls- und .xlsb-Dateien zuerst als .xlsx.
Verändert xellstorm meine Datei?
Nein. Der Import macht aus den Formeln Eingangsgrößen in den Einstellungen von xellstorm. Die Datei auf Ihrem Rechner schreibt xellstorm nicht um, das Modell öffnet und läuft also weiterhin im Add-In.
Was passiert mit einer Korrelationsmatrix?
Eingangsgrößen, die sich einen RiskCorrmat- oder PsiCorrMatrix-Bereich teilen, bekommen die Rangkorrelationen der Matrix; der Import liest sie aus den Zellen. RiskDepC und PsiCorrDepen koppeln eine Eingangsgröße mit der gleichnamigen. Paare, die sich nicht lesen lassen (eine nicht quadratische Matrix, eine Position außerhalb davon, eine Zelle ohne Zahl), nennt der Import in seinen Hinweisen; eine Eingangsgröße, die nicht umgewandelt wurde, steht mit ihrer Begründung in der Liste und fehlt in ihren Paaren. Ist die Matrix keine gültige Korrelationsmatrix, nimmt xellstorm die nächstliegende gültige, und die App zeigt sie vor dem Lauf.
Was wird aus einer RiskSimtable?
Der erste Wert gilt für die Zelle im Basislauf, jeder weitere wird zu einem Szenario namens Simulation 2, Simulation 3 und so weiter. Die Szenarien ziehen dieselben Zufallszahlen wie der Basislauf, sodass die Unterschiede zwischen ihnen allein von den Werten der Tabelle kommen.
@RISK, ModelRisk und Analytic Solver sind Marken ihrer jeweiligen Inhaber. xellstorm steht in keiner Verbindung zu ihnen; ihre Funktionsnamen stehen hier nur, damit klar ist, was xellstorm liest.
Verwandte Seiten
- Projektkosten und Termine
Wie viel Risikozuschlag braucht ein Bauprojekt?
Praxisbeispiel: In 94,2 % der simulierten Ergebnisse liegen die Kosten über den wahrscheinlichsten Kosten der Bauschätzung. So bemessen Sie den Risikozuschlag mit der Monte-Carlo-Simulation. - Leitfaden
Monte-Carlo-Simulation in Excel, mit oder ohne Add-In
Monte-Carlo-Simulation in Excel auf drei Wegen: mit RAND() und Datentabelle, mit einem Add-In oder im Browser ohne Add-In. Inklusive PERT-Formel. - Leitfaden
PERT-Verteilung in Excel: Formel, Mittelwert und Einsatz
Eine PERT-Verteilung ist eine Beta-Verteilung von Min bis Max mit dem Mittelwert (Min + 4 × Wahrscheinlich + Max) / 6. Die Excel-Formel mit BETA.INV und PERT im Vergleich zur Dreiecksverteilung.
xellstorm simuliert Excel-Modelle nach der Monte-Carlo-Methode direkt im Browser: ohne Add-In, und Ihre Datei verlässt Ihren Rechner nie.