STATISTICS 4365/6364 – HW #4 Due Friday April 2 by midnight Both problems should be done in both R and Python. Turn in a single R Markdown file with all R code and results and a single Jupyter...

1 answer below »
I dont know referencingstyle .Actually, i need R code and python code both. Thank you.



STATISTICS 4365/6364 – HW #4 Due Friday April 2 by midnight Both problems should be done in both R and Python. Turn in a single R Markdown file with all R code and results and a single Jupyter Notebook file with all Python code and results. 1. In this problem, you will use simulations to prove that the binomial distribution is correct. Recall that the binomial distribution has two parameters n and p. There are n trials and each has two possible outcomes, with probability p for “success” and 1-p for “failure”. The binomial gives the probability distribution for the number of successes in n trials. You will conduct simulations with r replicates, where each simulation replicates does n simulated “coin flips”. You will add up the number of successes in each coin flip, and compare the result to the true distribution: i. Generate n*r values from the uniform(0,1) distribution and arrange these in an rxn matrix. Each value less than p is considered a “success”. ii. For each row from part I, count the number of successes. The number of possible successes ranges from 0 to n. iii. Use the table function in R and the value_counts function in Python and to count up the number of replicates with each number of successes. iv. Make a table that compares the simulation result to the true binomial probabilities. Note #1: You should make the calculation as “vectorized” as possible. This means, that you should do it without use of loops Note #2: Things can be slightly more complicated if some possible values for number of successes don’t actually appear in your simulations. This will happen if your number of trials is too large, your value of p is too far from 0.5, or your number of simulation replicates is too small. For example, if you have n=1000 and p=0.01, you are very unlikely to ever get 1000 successes. The coding is a more complicated in this case. However, if you limit things to n <= 15,=""><><=0.6, and="" r="">=1,000,000 then you shouldn’t have any problems. 2. The point of this problem is to practice using vectorized calculation. Thus, you should not use any loops in completing the problem. Make a data frame consisting of 20 and 10 columns. Each column j should consist of 20 values from a normal distribution with mean (j-1) and standard deviation 0.5j. For example, the third column should be normal(mean=2, sd=1.5). Using this data frame, do each of the following (using code, of course): a. Find the mean and standard deviation for each column. b. Write code that counts the number of columns for which the sample mean and sample standard deviation are within 20% of the values used to generate the data. c. Write code that writes the columns from part b to a new data frame. d. For each value in the new data frame, subtract its column mean and divide by the column standard deviation. Do NOT use the scale function in R, the zscore function in Python, or any function that does this automatically.
Answered 2 days AfterMar 25, 2021

Answer To: STATISTICS 4365/6364 – HW #4 Due Friday April 2 by midnight Both problems should be done in both R...

Swapnil answered on Mar 27 2021
142 Votes
78684/oneare.R
BinomialGeneration = function(n,r,p){
    sim = runif(r*n)
    m = matrix(sim,r,n)
    m =
m < p
    m = apply(m, 1, sum)
    prop.table(table(m))
}
n = 10
p = 0.3
BinomialGeneration(n, 1000000, p)
78684/onepython.py
def BinomialGeneration(n, r, p):
    sim = runif(r*n)
    m = matrix(sim,r,n)
    m = m < p
    m = apply(m, 1, sum)
    prop.table(table(m))
    if (n = 10 & p = 0.3):
        BinomialGeneration(n, 1000000, p)
78684/Solution...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here