Abstract

Die Dreiecksverteilung ist eine stetige Wahrscheinlichkeitsverteilung, deren Dichtefunktion wie ein Dreieck aussieht. Es ist eine einfache Verteilung, weil Sie lediglich ihr Minimum, ihren Median und ihr Maximum kennen müssen:

sbRandTriang

Im englischen Sprachraum wird diese Verteilung auch Distribution of Missing Data genannt, weil für ihre Bestimmung nur ein Minimum an Information benötigt wird. Diese Verteilung wird oft zur Simulation von Expertenwissen eingesetzt oder wenn eine genauere Datenermittlung zu schwierig oder zu teuer erscheint.

Verwandte Verteilungen

sbRandTrigen

sbRandTrigen stellt eine Dreiecksverteilung mit anderen Eingabedaten zur Verfügung. Zusätzlich zum Median legen Sie nicht die linke (Minimum) und die rechte (Maximum) Grenze des Dreiecks fest, sondern das linke und das rechte p-Quantil (Perzentil).

sbRandGeneral

Die Dreiecksverteilung ist ein Spezialfall der allgemeineren sbRandGeneral Verteilung. Diese Verteilung besteht aus n linearen Stücken während die Dreiecksverteilung lediglich 2 zeigt.

Literatur

Ein Anwendungsbeispiel:

Sarah Hewitt (2021). An Evaluation of Key Performance Indicators for Beef Herds.
(Externer Link!) https://eprints.nottingham.ac.uk/69382/1/S%20Hewitt%20Thesis%20corrections%2015_06_22.pdf

Appendix – Programmcode sbRandTriang

Bitte den Haftungsausschluss im Impressum beachten.

Option Explicit

Function sbRandTriang(dMin As Double, dMode As Double, _
    dMax As Double, Optional dRandom = 1#) As Double
'Generates a random number, Triang distributed
'[see Vose: Risk Analysis, 2nd ed., p. 128]
'Source (EN): http://www.sulprobil.de/sbrandtriang_en/
'Source (DE): http://www.berndplumhoff.de/sbrandtriang_de/
'(C) (P) by Bernd Plumhoff 30-Aug-2024 PB V0.32
'Similar to @RISK's (C) RiskTriang function.
'sbRandTriang(minimum,mode,maximum) specifies a triangular
'distribution with three points — a minimum, a mode and
'a maximum. The skew of the triangular distribution is
'driven by the distance of the mode from the minimum and
'from the maximum. Reducing the distance from mode to
'minimum will increase the skew.
'Please ensure that you execute Randomize before you call
'this function for the first time.
Dim dRand As Double, dc_a As Double, db_a As Double
Dim dc_b As Double

If dMode < dMin Or dMax < dMode Then
  sbRandTriang = CVErr(xlErrValue)
  Exit Function
End If
If dMin = dMax Then
  sbRandTriang = dMin 'Triangle is just one point
  Exit Function
End If
dc_a = dMax - dMin
db_a = dMode - dMin
dc_b = dMax - dMode
If dRandom = 1# Then
  dRand = Rnd()
Else
  dRand = dRandom
End If
If dRand < db_a / dc_a Then
  sbRandTriang = dMin + Sqr(dRand * db_a * dc_a)
Else
  sbRandTriang = dMax - Sqr((1# - dRand) * dc_a * dc_b)
End If
End Function

Download

Bitte den Haftungsausschluss im Impressum beachten.

sbRandTriang.xlsm [53 KB Excel Datei, ohne jegliche Gewährleistung]