Matplotlib Exercise

Matplotlib Exercise

Exercise 1: plotting a function

Plot the function
     f(x)=sin2(x2)ex2 f ( x ) = sin 2 ⁡ ( x − 2 ) e − x 2
over the interval [0,2]. Add proper axis labels, a title, etc.

import numpy as np
import matplotlib.pyplot as plt

f, ax = plt.subplots(1, 1, figsize=(5, 4))
x = np.linspace(0, 2, 1000)
print("x =\n", x)
y = np.multiply(np.power(np.sin(x-2), 2), np.exp(-np.power(x, 2)))
print("y=", y)
ax.plot(x, y)
ax.set_xlim((0, 2))
ax.set_ylim((0, 1))
ax.set_xlabel("$x$")
ax.set_ylabel("$y=f(x)$")
ax.set_title("$f(x)=\sin^2(x-2)e^{-x^2}$")

plt.tight_layout()
plt.show()

Exercise 1

Exercise 2: Data

Create a data matrix X with 20 observations of 10 variables. Generate a vector b with parameters Then generate the response vector y = Xb+z where z is a vector with standard normally distributed variables.
Now (by only using y and X), find an estimator for b, by solving
     b^=argminb||Xby||2 b ^ = arg ⁡ min b | | X b − y | | 2
Plot the true parameters b and estimated parameters ˆ b. See Figure 1 for an example plot.

import numpy as np
import matplotlib.pyplot as plt

f, ax = plt.subplots(1, 1, figsize=(5, 4))
X = np.random.rand(20, 10) * 10
b = np.random.rand(10)
z = np.random.normal(size=20)
y = X.dot(b) + z
b_hat = np.array(np.linalg.lstsq(X, y, rcond=-1)[0])

ax.plot(b, label='b')
ax.plot(b_hat, label="$\hat{b}$")
ax.set_xlim(0, 10)
ax.set_ylim(-0.5, 1.5)
ax.set_title("Data")

plt.legend()
plt.show()

Exercise 2

Exercise 3: Histogram and density estimation

Generate a vector z of 10000 observations from your favorite exotic distribution. Then make a plot that shows a histogram of z (with 25 bins), along with an estimate for the density, using a Gaussian kernel density estimator (see scipy.stats). See Figure 2 for an example plot.

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

x = np.linspace(-5, 5, 10000)
z = np.random.normal(size=10000)
e = stats.gaussian_kde(z).evaluate(x)
f, ax = plt.subplots(1, 1, figsize=(5, 4))
ax.hist(z, bins=25, density=True, color='b', edgecolor='black', label="z")
ax.plot(x, stats.norm.pdf(x), color="r", label='Normal Dist')
ax.plot(x, e, color="g", label='Gaussian KDE')
ax.set_title("Histogram and Density Estimation")

plt.legend()
plt.show()

Exercise 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值