Sampling (computational modeling): Difference between revisions
Appearance
Content deleted Content added
Line 1: | Line 1: | ||
{{Orphan|date=September 2023}} |
|||
⚫ | |||
In [[Computer simulation|computational modeling]] and [[computer experiment]]s, '''sampling''' is a process of data generation, which is commonly used for [[Monte Carlo method|Monte Carlo simulation]] and [[uncertainty analysis]], global [[sensitivity analysis]] and other sensitivity and [[design of experiments]] studies, for example with [[heat maps]] and [[Response surface methodology|response surfaces]]. |
|||
==Methods== |
|||
The sampling strategies include different techniques. |
|||
# [[Simple random sampling]] is the most common method used for Monte Carlo simulation.<ref>Olken, F., and Rotem, D. (1986). "Simple random sampling from relational databases."</ref> Simple random sampling can be implemented in any programming language and spreadsheet environment with a straightforward {{smallcaps|rand}} function or its variations. |
|||
# [[Latin hypercube sampling]] is a simple approach that attempts to improve coverage of the multidimensional space compared to simple random sampling but does not always outperform it.<ref>{{cite book | last1 = Fang | first1 = K. T. | last2 = Li |
|||
| first2 = R. | last3 = Sudjianto |
|||
| first3 = A. | title = Design and Modeling for Computer Experiments | year = 2006 | series = Computer Science and Data Analysis Series}}</ref> |
|||
# [[Quasi-Monte Carlo method|Quasi-random sampling]] attempts to fill the multidimensional space more uniformly by utilizing [[low-discrepancy sequences]], among which [[Sobol sequence|Sobol' sequences]] are found the best performing.<ref name="Owen2023">{{cite book |last=Owen |first=A. B. |year=2023 |title=Practical Quasi-Monte Carlo |url=https://artowen.su.domains/mc/practicalqmc.pdf }}</ref> Quasi-random sampling functionality is available in Python,<ref>{{cite web|title=Quasi-monte carlo submodule (scipy.stats.qmc)|url=https://docs.scipy.org/doc/scipy/reference/stats.qmc.html|website=SciPy|year=2023}}</ref> R,<ref>{{cite web |
|||
|title=Toolbox for Pseudo and Quasi Random Number Generation and Random Generator Tests |url=https://cran.r-project.org/web/packages/randtoolbox/randtoolbox.pdf |author1=Chalabi, Y. |
|||
|author2=Dutang, C. |author3=Savicky, P. |
|||
|author4=Wuertz, D. |author5=Knuth, D. |
|||
|author6=Matsumoto, M. |author7=Saito, M. |year=2023 }}</ref> Julia,<ref>{{cite web |
|||
|title=The QMC module for Julia |
|||
|url=https://github.com/PieterjanRobbe/QMC.jl |author=Robbe, P. |year=2018 }}</ref> and Matlab.<ref>{{cite web |title=Generating quasi-random numbers |url=https://se.mathworks.com/help/stats/generating-quasi-random-numbers.html |author=MathWorks |year=2013 }}</ref> |
|||
# [[Factorial experiment|Full factorial design]] involves choosing several points for each input variable and then evaluating the model for all their combinations. The computational complexity of this method grows exponentially with the number of input variables involved. Various [[fractional factorial design]] methods have been introduced to improve the computational efficiency of the approach.<ref>{{cite book |
|||
|last=Antony |first=J. |year=2023 |title=Design of Experiments for Engineers and Scientists |publisher=Elsevier }}</ref> |
|||
==See also== |
|||
⚫ | |||
==References== |
|||
{{reflist}} |
|||
[[Category:Models of computation]] |
|||
[[Category:Sampling (statistics)]] |
Revision as of 11:54, 13 February 2024
In computational modeling and computer experiments, sampling is a process of data generation, which is commonly used for Monte Carlo simulation and uncertainty analysis, global sensitivity analysis and other sensitivity and design of experiments studies, for example with heat maps and response surfaces.
Methods
The sampling strategies include different techniques.
- Simple random sampling is the most common method used for Monte Carlo simulation.[1] Simple random sampling can be implemented in any programming language and spreadsheet environment with a straightforward rand function or its variations.
- Latin hypercube sampling is a simple approach that attempts to improve coverage of the multidimensional space compared to simple random sampling but does not always outperform it.[2]
- Quasi-random sampling attempts to fill the multidimensional space more uniformly by utilizing low-discrepancy sequences, among which Sobol' sequences are found the best performing.[3] Quasi-random sampling functionality is available in Python,[4] R,[5] Julia,[6] and Matlab.[7]
- Full factorial design involves choosing several points for each input variable and then evaluating the model for all their combinations. The computational complexity of this method grows exponentially with the number of input variables involved. Various fractional factorial design methods have been introduced to improve the computational efficiency of the approach.[8]
See also
References
- ^ Olken, F., and Rotem, D. (1986). "Simple random sampling from relational databases."
- ^ Fang, K. T.; Li, R.; Sudjianto, A. (2006). Design and Modeling for Computer Experiments. Computer Science and Data Analysis Series.
- ^ Owen, A. B. (2023). Practical Quasi-Monte Carlo (PDF).
- ^ "Quasi-monte carlo submodule (scipy.stats.qmc)". SciPy. 2023.
- ^ Chalabi, Y.; Dutang, C.; Savicky, P.; Wuertz, D.; Knuth, D.; Matsumoto, M.; Saito, M. (2023). "Toolbox for Pseudo and Quasi Random Number Generation and Random Generator Tests" (PDF).
- ^ Robbe, P. (2018). "The QMC module for Julia".
- ^ MathWorks (2013). "Generating quasi-random numbers".
- ^ Antony, J. (2023). Design of Experiments for Engineers and Scientists. Elsevier.