Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Expected Value

Reply
Thread Tools

Expected Value

 
 
George
Guest
Posts: n/a
 
      09-11-2005
How would I get the expected value out of this information. I have
tried many times to understand this but am unable to.

The function expectP(z) computes E(X) for the random variable
representing a sample over the probability generated by "pf" for the
set of discrete items [1,100000]. The constant c is needed so that the
probability sum to 1.0, as required by the definition of probability.
The function pf(r,c,x) returns the probability that item x will be
equal to a randomly chosen variable, denoted by P(x) or P(X=x) in
mathematical texts, where c is the constant mentioned above and r is
needed because we are considering a power law distribution.

The function expectP(z) computes E(X) with r=z, using pf(r,c,x) where x
ranges over the set of discrete items in [1,100000]

The program:

def norm(r):
"calculate normalization factor for a given exponent"
# the function for this distribution is P(x) = c*(x**-r)
# and the job of this norm function is to calculate c based
# on the range [1,10**5]
sum = 0.0
for i in range(1,1+10**5):
# final sum would be more accurate by summing from small values
# to large ones, but this is just a homework, so sum 1,2,..10**5
sum += float(i)**-r
return 1.0/sum

def pf(r,c,x):
"return a power-law probability for a given value"
# the function for this distribution is P(x) = c*(x**-r)
# where the constant c is such that it normalizes the distribution
return c*(float(x)**-r)

#--------- between these lines, define expectP() function
-----------------


#--------- end of expectP() definition
------------------------------------

def showExpectP(limit):
"display ExpectP(limit) by rounding down to nearest integer"
k = expectP(limit)
return int(k)

if __name__ == '__main__':
import doctest, sys
doctest.testmod(sys.modules[__name__])

 
Reply With Quote
 
 
 
 
Steven D'Aprano
Guest
Posts: n/a
 
      09-12-2005
On Sat, 10 Sep 2005 17:50:06 -0700, George wrote:

> How would I get the expected value out of this information. I have
> tried many times to understand this but am unable to.


Do you have a specific Python problem here, or do you need help with the
maths? If Python, please tell us what your problem is. If your problem is
with the maths, then a statistics and/or probability forum is probably
going to be more useful to you.

If you are having a problem with the code, not the maths, I frequently
find that it helps to reduce the problem. Instead of calculating the
expectation of a discrete pdf with one hundred thousand values, start with
a toy problem: write code that calculates the expectation of a pdf with
only five values. That is small enough that you can experiment using the
interactive Python interpreter, and if need be calculate the correct
answer with paper and pencil.

You might also find it useful to read this:

http://www.catb.org/~esr/faqs/smart-questions.html


--
Steven.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Value does not fall within the expected range - Crystal Report hot fix anamika ASP .Net 0 06-15-2006 10:49 AM
CrystalReports: Value does not fall within the expected range. =?Utf-8?B?amF2YXRvcGlh?= ASP .Net 4 10-14-2005 06:16 PM
ISE:ERROR:Xst:829: Constant Value expected for Generic 'U'? Phil Tomson VHDL 3 02-16-2005 08:54 AM
Newbie again: position() doesn't return expected value Yereth XML 2 01-20-2004 11:34 AM
position() doesn't return expected value Yereth XML 1 01-20-2004 12:28 AM



Advertisments