# Ignoring the domain of RV in punif()

9 messages
Open this post in threaded view
|

## Ignoring the domain of RV in punif()

 Hi All, I recently discovered an interesting issue with the punif() function.  Let X~Uiform[a,b] then the CDF is defined by F(x)=(x-a)/(b-a) for (a<= x<= b). The important fact here is the domain of the random variable X. Having said that, R returns CDF for any value in the real domain. I understand that one can justify this by extending the domain of X and assigning zero probabilities to the values outside the domain. However, theoretically, it is not true to return a value for the CDF outside the domain. Then I propose a patch to R function punif() to return an error in this situations. Example: > punif(10^10) [1] 1 Regards, Hamed.         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Ignoring the domain of RV in punif()

 Hi Hamed, I disagree with your criticism. For a random variable X X: D - - - > R its CDF F is defined by F: R - - - > [0,1] F(z) = Prob(X <= z) The fact that you wrote a convenient formula for the CDF F(z) = (z-a)/(b-a)  a <= z <= b in a particular range for z is your decision, and as you noted this formula will give the wrong value for z outside the interval [a,b]. But the problem lies in your formula, not the definition of the CDF which would be, in your case: F(z) = 0 if z <= a        = (z-a)/(b-a)   if a <= z <= b        = 1 if 1 <= z HTH, Eric On Tue, Oct 23, 2018 at 12:05 PM Hamed Ha <[hidden email]> wrote: > Hi All, > > I recently discovered an interesting issue with the punif() function.  Let > X~Uiform[a,b] then the CDF is defined by F(x)=(x-a)/(b-a) for (a<= x<= b). > The important fact here is the domain of the random variable X. Having said > that, R returns CDF for any value in the real domain. > > I understand that one can justify this by extending the domain of X and > assigning zero probabilities to the values outside the domain. However, > theoretically, it is not true to return a value for the CDF outside the > domain. Then I propose a patch to R function punif() to return an error in > this situations. > > Example: > > punif(10^10) > [1] 1 > > > Regards, > Hamed. > >         [[alternative HTML version deleted]] > > ______________________________________________ > [hidden email] mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code. >         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Ignoring the domain of RV in punif()

Open this post in threaded view
|

## Re: Ignoring the domain of RV in punif()

Open this post in threaded view
|

## Re: Ignoring the domain of RV in punif()

Open this post in threaded view
|

## Re: Ignoring the domain of RV in punif()

Open this post in threaded view
|