Cet article est l'article du 21ème jour du Furukawa Laboratory Advent_calendar. Cet article a été rédigé par un étudiant du Furukawa Lab dans le cadre de leur apprentissage. Le contenu peut être ambigu ou l'expression peut être légèrement différente.
Je ne connais pas du tout les statistiques, mais quand j'aimais surfer sur Twitter, j'ai vu un tweet avec une image de classement comme "Le futur classement des rêves que j'ai demandé à 200 élèves du premier cycle du secondaire! (Peut-être que ce n'était pas comme ça!)" Est-ce quelque chose que les gens peuvent comprendre? J'avais une question. Quelqu'un a-t-il pensé la même chose? Dans la réponse, il y avait un commentaire disant "N'est-ce pas une enquête auprès de 200 personnes?", Mais dans la réponse, "L'intervalle de confiance est de 95% et l'erreur d'échantillonnage est de 10%. Il est devenu. " Je l'ai entendu et je me souviens de l'avoir fait dans un cours universitaire, mais malheureusement je ne m'en souvenais pas, alors j'ai décidé de demander à Google Teacher ...
L'erreur d'échantillon est l'erreur qui accompagne l'estimation de la valeur numérique dans la population de l'échantillon. Hmmmm ... j'ai l'impression de l'avoir appris. Lors du test, je me suis souvenu qu'il y avait un problème avec la section de confiance. Ce site est facile à comprendre, et lorsque vous calculez réellement avec l'exemple précédent ...
\begin{align}
\bar{p}=0.5\\
n=200\\
1.96\sqrt{\cfrac{\bar{p}(1-\bar{p})}{n}}&=1.96\sqrt{\cfrac{0.5(1-0.5)}{200}}\\
&=0.0692924...
\end{align}
Il semble que l'erreur d'échantillonnage soit de 7%. (À propos, 100 échantillons ont fait environ 10%, mensonge) J'ai pensé qu'il valait mieux être conscient de l'idée d'erreur d'échantillonnage.
J'ai entendu dire qu'un échantillon complètement sélectionné au hasard conviendrait ... Préparez les données de la forme de la selle en tant que population, puis préparez un échantillon aléatoire. Combien devez-vous préparer pour estimer la forme originale de la selle?
import numpy as np
map_size = 60
def create_data(nb_samples, input_dim=3, retdim=False):
latent_dim = 2
z1 = np.random.rand(nb_samples) * map_size - map_size/2
z2 = np.random.rand(nb_samples) * map_size - map_size/2
x = np.zeros((nb_samples, input_dim))
x[:, 0] = z1
x[:, 1] = z2
x[:, 2] = z1 ** 2 - z2 ** 2
if retdim:
return x, latent_dim
else:
return x
# parameters to make data
x_sigma = 0.1
nb_samples = 900
seed = 1
# make data
np.random.seed(seed)
X = create_data(nb_samples)
X += np.random.normal(0, x_sigma, X.shape)
Créez une forme de selle comme celle-ci! Commencez avec 900 échantillons et essayez d'estimer 30 * 30 points de nœuds en utilisant la régression de processus gaussien Estimez l'axe Z à partir des coordonnées des axes X et Y! J'ai tracé la moyenne avec des points bleus car il serait difficile de tracer avec une distribution distribuée!
from matplotlib import pyplot as plt
from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process import kernels as sk_kern
x_input = X[:,:2]
y_input = X[:,2]
kernel = sk_kern.RBF(1.0, (1e-3, 1e3)) # + sk_kern.ConstantKernel(1.0,(1e-3,1e3)) + sk_kern.WhiteKernel()
clf = GaussianProcessRegressor(
kernel=kernel,
alpha=1e-10,
optimizer="fmin_l_bfgs_b",
n_restarts_optimizer=20,
normalize_y=True)
clf.fit(x_input,y_input )
clf.kernel_
test_x = np.linspace(-map_size/2,map_size/2,30)
test = np.meshgrid(test_x,test_x)
test=np.dstack(test).reshape(900,2)
pred_mean, pred_std = clf.predict(test, return_std=True)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, aspect='equal', projection='3d')
ax.scatter(X[:,0],X[:,1],X[:,2],color='r')
ax.scatter(test[:,0],test[:,1],pred_mean)
plt.show()
Eh bien, vous pouvez le faire si vous n'avez que 900 points, il semble que l'erreur soit d'environ 3% si vous calculez avec la formule ci-dessus. Désormais, de celui avec le plus petit nombre d'échantillons 50 premiers! Hmmmm ... À propos, l'erreur d'échantillonnage dans la formule précédente est d'environ 14%. Le suivant est 100! Il a la forme d'une selle! !! Comme prévu 10% Essayons 200 Est-ce un peu hors de l'entrejambe? On dirait que ça va arriver, mais je peux le conduire assez! L'erreur est de 7% Sera-ce le dernier à 400 Eh, n'est-ce pas inférieur à 900?
J'ai trouvé l'idée d'erreur d'échantillonnage intéressante! (J'ai peur de me mettre en colère contre une telle balise statistique) C'est un peu chargé et le chapitre supplémentaire n'a pas du tout de plan expérimental strict, donc c'est adorable que cela n'a aucun sens de mettre en place un chiffre comme celui-là m (_ _) m