Yet another application of the Monte Carlo method for modeling in the field of biomedicine

https://doi.org/10.1016/j.cmpb.2005.01.005Get rights and content

Summary

By means of Monte Carlo simulations performed in the C programming language, an example of scientific programming for the generation of pseudorandom numbers relevant to both teaching and research in the field of biomedicine is presented. The relatively simple algorithm proposed makes possible the statistical analysis of sequences of random numbers. The following three generators of pseudorandom numbers were used: the rand function contained in the stdlib.h library of the C programming language, Marsaglia's generator, and a chaotic function. The statistical properties of the sequences generated were compared, identical parameter values being adopted for this purpose. The properties of two estimators in finite samples of the pseudorandom numbers were also evaluated and, under suitable conditions, both the maximum-likelihood and method of moments proved to be good estimators. The findings demonstrated that the proposed algorithm appears to be suitable for the analysis of data from random experiments, indicating that it has a large variety of possible applications in the clinical practice.

Introduction

The wide range of use of computer programs with medical applications is evidenced by the huge variety of scientific articles that employ such programs in both biomedical research and clinical practice [1], [2], [3], [4], [5], [6]. Many of these programs with medical applications produce random situations, including simulations that model random processes and studies that require the addition of random noises in more structured data, applications that depend on generators of random numbers. Simulations with random numbers have even permitted the calculation of the statistical variability of different parameters with sufficient reliability for clinical purposes. Among the latter, the pharmacokinetic parameters are indispensable for the development and evaluation of drugs, so that they are required by international drug agencies and may influence major decisions [1].

To state that a particular biological phenomenon is a random variable implies that the measurement of the phenomenon occurs in a context of uncertainty, the numerical variable being dependent upon the result of a random experiment, the representative model of which is probabilistic. The construction of probabilistic models has been widely used in the field of biomedicine as a result of the innumerable experiments that are not repeated accurately, even in supposedly identical conditions, the result of which cannot be predicted with certainty. This is due to the existence of factors that influence such result, factors that are unknown to the observer and/or which are not under the observer's control. Thus, a random experiment may be repeated indefinitely under essentially unchanged conditions and, even though its result cannot be stated in advance, it is possible to describe the set of all its possible results; the specific results occur in a random fashion, but when the experiment is repeated an enormous number of times, a definite pattern emerges. It is this behavior that makes it possible to construct a reliable probabilistic mathematical model with which the most varied random experiments in the field of biomedicine may be analyzed.

The use of samples of random numbers in statistical simulations is commonly referred to as the Monte Carlo model. Although the essential characteristic of this model is the use of random sampling techniques for solving a problem, there are applications of the Monte Carlo method with no overt random context, such as the inversion of a linear system of equations. The method is a powerful technique that has permitted the solving of mathematical equations and thereby led to significant advances in the understanding of complex phenomena. In a Monte Carlo simulation multiple replications will be performed and the desired result is interpreted as a mean of the number of observations. The result of these random samplings should be accumulated in an appropriate manner with a view to performing the calculations of interest. In many practical applications, the statistical error of the samples should be determined.

The concept of estimating parameters, adopting an implicit defined statistical model merely by simulation, affords the Monte Carlo method potential applications in various areas, including its widespread use in biomedicine. Monte Carlo simulation has recently been used [2] to perform decision analysis to compare the possible outcomes of the two treatment strategies and assess the impact of varying levels of effectiveness. These simulations indicated that fewer deaths from tuberculosis would occur if one of the treatment strategies were implemented [2]. The optimization of laser pulse duration and radiant exposure in combination with cryogen spray cooling on the thermal response of skin has been studied by using a Monte Carlo-based optical-thermal model [3], a model that predicts optimum pulse durations at which minimal damage to the epidermis and significant injury within the targeted vasculature occur. Monte Carlo simulation may help in the design of clinical trials [4], to optimize the construction of sample pools that could identify responses to individual peptides using fewer assays and less patient material than currently needed. Intravascular brachytherapy has been recognized as the preferred treatment for coronary restenosis in routine practice and the Monte Carlo codes have been used to calculate the dose distributions with and without a metallic stent in place [5]. Use has been made of an algorithm based on the Monte Carlo method in stereotaxic radiosurgery treatment planning [6], which is another application of the method in clinical practice. The method permits a simulation procedure with 10,000,000 events and 1% maximum variance to be run in 43 s, including the obtaining of images by computed tomography, delineation of the target organ to be treated, and the calculation of the dose of irradiation on every transverse, sagittal or coronal planes on the anatomical representation of the body [6].

In many applications of the Monte Carlo method the process is simulated directly with no need for the writing of differential equations in order to describe the functioning of the phenomenon under observation. It is a general computational technique of numerical integration that is able to recreate the functioning process of an actual phenomenon within a theoretical model. The main problem with the use of this method for analyzing data is the need to write a specific computer program for each of its applications. The ability to efficiently generate sequences of random numbers with good statistical properties is crucial for solving many complex problems using the Monte Carlo method. As a result of the vital importance of the use of random numbers in computer simulations currently employed in the field of biomedicine, the present study will examine the statistical properties of the sequences generated by three generators of pseudorandom numbers by means of Monte Carlo simulations constructed in the C programming language. The proposed algorithm makes it possible to analyze experimental data obtained from biomedical research and clinical practice.

Section snippets

Random number generators

The term random variable may be used to represent a numerical quantity being observed, a value that cannot be predicted from knowledge of the experimental conditions. A sequence of n + 1 numbers X1, X2, …, Xn+1 is random when the number nth plus 1 (Xn+1) cannot be predicted through the observation of the first n numbers. In other words, the information on a given number in any sequence of numbers does not help predict the next number in that particular sequence. In a computer simulation the

Numerical procedure

By means of Monte Carlo simulations an evaluation was made of the statistical properties of the sequences of random numbers using three distinct generators. For each generator a program was written, compiled and run that was codified using the C programming language, gcc compiler, on a PC with a 1 GHz Pentium III processor, 96 Mb RAM, using the Linux platform. The program is presented in Appendix A and does the following:

  • 1.

    Generates n values of samples of random numbers, in a finite number of

Numerical results and discussion

In the present study the statistical tests were conducted for an equal number of values of samples of random numbers, quantity of replications R for Monte Carlo simulation, and value of θ to be used by the generator as the maximum limit of the random values generated by it. Once the 100,000 Monte Carlo replications for each sample size with 5, 10, 20, 50, 100 and 1000 random numbers had been performed, and three distinct methods used for the generation of these numbers, an analysis of the data

Acknowledgements

We gratefully acknowledge the contributions of the anonymous reviewers, and the comments by Prof. Francisco Cribari-Neto, Prof. Rita Zorzenon and Prof. Alejandro Frery. C.S. Sousa and A.D. Ramos took part at this project under the Computational Mathematics PhD Programme of the Universidade Federal de Pernambuco and they acknowledge financial support from Fapesb/Brazil. This work was partially supported by the Abdus Salam International Centre for Theoretical Physics, during the visit of Cassia

Cited by (3)

  • Impact of the quality of random numbers generators on the performance of particle swarm optimization

    2009, Conference Proceedings - IEEE International Conference on Systems, Man and Cybernetics
View full text