# -*- coding: utf-8 -*-
"""
Jeux de données artificiels.
:githublink:`%|py|6`
"""
from numpy.random import rand, randn
from numpy import vstack
[docs]def line2d(n, x0=0, x1=10, a=0.5, b=1, sigma=0.5):
"""
Simule un jeu de données pour une régression linéaire.
Notebooks associés à ce jeu de données :
.. runpython::
:rst:
from papierstat.datasets.documentation import list_notebooks_rst_links
links = list_notebooks_rst_links('lectures', 'artificiel_shape')
links = [' * %s' % s for s in links]
print('\\n'.join(links))
:param n: nombre de points à simuler
:param x0: dans l'intervalle *[x0, x1]*
:param x1: dans l'intervalle *[x0, x1]*
:param a: *a*, voir ci-dessous
:param b: *b*, voir ci-dessous
:param sigma: écart type du bruit blanc
:return: une matrice
La régression linéaire suit le modèle
:math:`y = ax + b + \\epsilon`.
:githublink:`%|py|33`
"""
x = rand(n) * (x1 - x0) + x0
e = randn(n) * sigma
y = x * a + b
y += e
return vstack([x, y]).T