Expected Value

Discussion in 'Python' started by George, Sep 9, 2005.

  1. George

    George Guest

    I have never done any programming with python in my life so I will most
    definetly need help understanding how I can accomplish this part of my
    program.

    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. I need help
    in writing the expectP function and do I compile and execute this code
    on a linux box.

    """
    Module to compute expected value.

    >>> showExpectP(0.5)

    33410
    >>> showExpectP(0.85)

    15578
    >>> showExpectP(0.9)

    12953
    >>> showExpectP(0.99)

    8693
    >>> showExpectP(0.999)

    8312

    """

    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__])

    thankyou sooo much.
    George, Sep 9, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Phil Tomson
    Replies:
    3
    Views:
    1,416
    Phil Tomson
    Feb 16, 2005
  2. =?Utf-8?B?amF2YXRvcGlh?=

    CrystalReports: Value does not fall within the expected range.

    =?Utf-8?B?amF2YXRvcGlh?=, Oct 5, 2005, in forum: ASP .Net
    Replies:
    4
    Views:
    7,000
    =?Utf-8?B?amF2YXRvcGlh?=
    Oct 14, 2005
  3. Yereth
    Replies:
    2
    Views:
    501
    Yereth Jansen
    Jan 20, 2004
  4. Yereth
    Replies:
    1
    Views:
    378
    Peter Flynn
    Jan 20, 2004
  5. anamika
    Replies:
    0
    Views:
    919
    anamika
    Jun 15, 2006
Loading...

Share This Page