Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Сгенерировать многомерные данные #2

Open
5 tasks
x1o opened this issue Sep 30, 2022 · 0 comments
Open
5 tasks

Сгенерировать многомерные данные #2

x1o opened this issue Sep 30, 2022 · 0 comments

Comments

@x1o
Copy link
Owner

x1o commented Sep 30, 2022

  • Данная формула описывает модель линейной регрессии в скалярном виде: $$f(\mathbf{x}_i\mid\boldsymbol{\beta})=\beta_{0}+\sum_{j=1}^{d}\beta_{j}x_{ij}.$$ Давайте напишем то же, но используя скалярное произведение, чтобы считался сразу вектор $\mathbf{y}$. Соглашение такое: в матрице данных $\mathbf{X}$ по строкам стоят $\mathbf{x}_i^{\intercal}$; соответственно, номер столбца соответствует номеру признака.
  • Реализуем функцию make_X, генерирующую $\mathbf{X}$.
  • Реализуем функцию f, реализующую модель линейной регрессии.
  • Сгенерируем данные большей размерности: пусть $n = 1000$, $d = 5$, $x_{\min} = -5, x_{\max} = 5$, $\beta_{\min} = -5$, $\beta_{\max} = 5$. Выберем случайные значения для вектора параметров $\boldsymbol{\beta}$, посчитаем наблюдения и зашумим.
  • Исследуем распределения полученных данных. Для визуализации хорошо подходит тип графиков "pairs plot". Он позволяет смотреть, как соотносятся признаки друг с другом и с наблюдениями. Рекомендация: GGally::ggpairs.

Как можно было заметить по pairs, $\mathbf{y}$ распределен вовсе не равномерно. А как? Фактически, результирующее распределение есть сумма равномерно распределенных случайных величин, однако их сумма не есть равномерное распределение. Вывести результат сложно даже со знанием теории вероятностей. Для ознакомления можно почитать вот эту статью https://arxiv.org/pdf/math/0411298v1.pdf

См. также #3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant