Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Python random.paretovariate() Method



The Python random.paretovariate() method in Python generates random numbers that follows the Pareto Distribution. It is a power-law probability distribution, also known as the "80-20 rule".

This distribution is often used in social science, quality control, finance, and natural phenomena. It depends on the shape parameter called alpha, which determines the distribution's behavior.

This function is not accessible directly, so we need to import the random module and then we need to call this function using random static object.

Syntax

Following is the syntax of paretovariate() method −

random.paretovariate(alpha)

Parameters

This method accepts the single parameter −

  • alpha: This is the shape parameter of the Pareto distribution.

Return Value

This method returns random number that follows the Pareto distribution with the specified alpha.

Example 1

Let's see a basic example of using the Python random.paretovariate() method for generating a single random number.

import random

# alpha for the Pareto distribution
alpha_ = 2

# Generate a random number from the Pareto distribution
random_value = random.paretovariate(alpha_)

print("Random value from Pareto distribution:", random_value)

Following is the output −

Random value from Pareto distribution: 1.101299278142964

Note: The Output generated will vary each time you run the program due to its random nature.

Example 2

Here is an example that uses the random.paretovariate() method to generate and display a histogram showing the frequency distribution of samples from a Pareto distribution with a shape parameter of 3.

import random
import numpy as np
import matplotlib.pyplot as plt

# Generate 10000 samples from an Pareto distribution with rate parameter of 100
alpha = 3
num_samples = 10000 

# Generate Pareto data 
d = [random.paretovariate(alpha) for _ in range(num_samples)]

# Create a histogram of the data with bins from 0 to 500
h, b = np.histogram(d, bins=500)

# Plot the histogram
plt.figure(figsize=(7, 4))
plt.bar(b[:-1], h, width=1, edgecolor='none')
plt.title('Histogram of the Pareto Distributed Data')
plt.show()

The output of the above code is as follows −

Random Paretovariate Method

Example 3

This example generates and plots Pareto-distributed data for different alpha values to show how the distribution changes with the shape parameter using the random.paretovariate() method.

import random
import numpy as np
import matplotlib.pyplot as plt

def plot_pareto(alpha, order):

    # Generate Pareto data
    data = [random.paretovariate(alpha) for _ in range(500)]

    # Plot histogram of the generated data
    h, b = np.histogram(data, bins=np.arange(0, max(data)+1))
    plt.bar(b[:-1], h, width=1, edgecolor='none', alpha=0.7, label=r'($\alpha={}$)'.format(alpha), zorder=order)

# Create a figure for the plots
fig = plt.figure(figsize=(7, 4))

# Plotting for each set of parameters
plot_pareto(3, 3)
plot_pareto(2, 2)
plot_pareto(1, 1)

# Adding labels and title
plt.title('Pareto Distributions for Different Alpha Values')
plt.legend()
plt.ylim(1, 150)
plt.xlim(1, 30)

# Show plot
plt.show()

While executing the above code you will get the similar output like below −

Random Paretovariate Method
python_modules.htm
Advertisements