Регрессионная модель: различия между версиями
Patarakin (обсуждение | вклад) Новая страница: «{{Scripting Tutorials |Description=Регрессионная модель — это статистический инструмент, который помогает нам предсказывать значение одной переменной, исходя из значений других переменных. Это способ найти закономерность в данных и использовать её для предсказан...» |
Patarakin (обсуждение | вклад) |
||
| (не показано 18 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
{{Scripting Tutorials | {{Scripting Tutorials | ||
|Description=Регрессионная модель — это статистический инструмент, который помогает нам предсказывать значение одной переменной, исходя из значений других переменных. Это способ найти закономерность в данных и использовать её для предсказания будущих значений. | |Description=Регрессионная модель — это статистический инструмент, который помогает нам предсказывать значение одной переменной, исходя из значений других переменных. Это способ найти закономерность в данных и использовать её для предсказания будущих значений. В статье описано, как построить регрессионную модель и провести регрессионный анализ (на примере Language Change) | ||
|Field_of_knowledge=Статистика, Моделирование | |Field_of_knowledge=Статистика, Моделирование | ||
|Возрастная категория=17 | |Возрастная категория=17 | ||
|similar_concepts=Регрессия, Переменная, Остаток | |similar_concepts=Регрессия, Переменная, Остаток | ||
|Environment=R, BehaviorSpace, NetLogo | |Environment=R, BehaviorSpace, NetLogo, Language Change, StatKey | ||
}} | }} | ||
Регрессионная модель описывает связь между переменными с помощью уравнения. Самая простая форма — линейная регрессия | == Регрессионная модель == | ||
<math> | Регрессионная модель описывает связь между переменными с помощью уравнения. Самая простая форма — [[линейная регрессия]]: | ||
<math>Y = \beta_0 + \beta_1 \cdot X + \varepsilon</math> | |||
; Где: | ; Где: | ||
| Строка 15: | Строка 16: | ||
* β₁ (бета один) — коэффициент при X (показывает, насколько Y изменится при увеличении X на единицу) | * β₁ (бета один) — коэффициент при X (показывает, насколько Y изменится при увеличении X на единицу) | ||
* ε (эпсилон) — ошибка модели (то, что модель не может объяснить) | * ε (эпсилон) — ошибка модели (то, что модель не может объяснить) | ||
== Как построить регрессионную модель == | |||
; На примере данных из [[Language Change]] | |||
: https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/Lang_Change_1440.csv | |||
=== Спроектировать вычислительный [[эксперимент]] === | |||
; на примере модели [[Language Change]] | |||
Определить независимые и зависимые переменные | |||
==== Независимые переменные ==== | |||
* '''alpha''' (Вероятность адаптации/обучения) Диапазон: 0.025, 0.03, 0.035, 0.04 Смысл: вероятность того, что агент заимствует языковую форму от соседа при контакте. Гипотеза: большее alpha → быстрее распространяется инновация → выше LCI | |||
* '''gamma''' (Вероятность спонтанной инновации/мутации) Диапазон: 0.02, 0.03, 0.04 Смысл: вероятность того, что агент независимо создаст новую языковую форму, не контактируя с соседями. Социально-экономический аналог: экзогенные инновации, креативность, предпринимательские инициативы. Гипотеза: gamma — критический фактор в модели, усиливает распространение инновации | |||
* '''logistic?''' (Логистический vs экспоненциальный рост) Категория: TRUE / FALSE - - TRUE → логистический рост - [[Гипотеза]]: при logistic = TRUE инновация распространяется медленнее → ниже LCI | |||
==== Зависимые переменные ==== | |||
Первая зависимая переменная: mean_state (LCI) = mean [state] of nodes | |||
<math>LCI = \text{mean}_i [state_i] = \frac{1}{N}\sum_{i=1}^{N} state_i, \quad N=100</math> | |||
* LCI ('''Language Change Index''') — индекс изменения языка — среднее значение языкового состояния по всей популяции агентов | |||
* Смысл: показывает средний уровень распространения языковой инновации в сообществе | |||
* Диапазон: от 0 до 1, где 1 означает полное распространение инновации на всё сообщество, а 0 означает сохранение исходного состояния | |||
* LCI отражает коллективный исход языкового процесса — насколько успешно языковая инновация завладела сообществом. Это макроскопический показатель, который агрегирует микроскопические решения каждого агента о принятии или отклонении инновации. | |||
Вторая зависимая переменная (в модели фиксируется, но не используется в регрессии): | |||
* count nodes with [state > 0.9] / count nodes — доля агентов, полностью принявших инновацию. Это показатель радикального принятия — какая часть сообщества достигла высокого уровня (>0.9) принятия инновации. | |||
<math>Adoption\_Rate = \frac{|\{i: state_i > 0.9\}|}{N} \times 100\%</math> | |||
==== Factorial Design ==== | |||
{| class="wikitable" style="border-collapse: collapse; width: 100%; margin: 1em 0;" | |||
|- | |||
! Параметр !! Уровни !! Количество значений !! Всего комбинаций | |||
|- | |||
| percent-grammar-1 || 55, 60, 65 || 3 || 3 | |||
|- | |||
| logistic? || TRUE, FALSE || 2 || 2 | |||
|- | |||
| alpha || 0.025, 0.03, 0.035, 0.04 || 4 || 4 | |||
|- | |||
| gamma || 0.02, 0.03, 0.04 || 3 || 3 | |||
|- | |||
| threshold-val || 0 || 1 || 1 | |||
|- | |||
| sink-state-1? || TRUE || 1 || 1 | |||
|- | |||
| update-algorithm || "reward" || 1 || 1 | |||
|- | |||
| num-nodes || 100 || 1 || 1 | |||
|- | |||
| colspan="3" | '''ИТОГО экспериментальных сценариев:''' || 3 × 2 × 4 × 3 = '''72''' | |||
|} | |||
=== Вырастить данные в агент-ориентированной модели === | |||
# Запустить вашу модель [[NetLogo]] с использованием [[BehaviorSpace]]. | |||
# Вырастить данные и записать [[csv]] | |||
# Разместить данные на GitHub и сделать доступными - https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/Lang_Change_1440.csv | |||
Для каждого из 72 сценариев проведено 20 повторений (реплик) с разными случайными сидами → 1440 наблюдений (данные в [https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/Lang_Change_1440.csv Lang_Change_1440.csv] | |||
=== Провести регрессионный анализ === | |||
* Какие факторы и как влияют на успешность распространения языковой инновации в агент-ориентированной системе? | |||
<math>LCI = \beta_0 + \beta_1 \cdot \alpha + \beta_2 \cdot \gamma + \beta_3 \cdot IsLogistic + \beta_4 \cdot StartPercent + \epsilon</math> | |||
<syntaxhighlight lang="R" > | |||
data <- read.csv("../DataSets/Lang_Change_1440.csv", | |||
header = TRUE, | |||
stringsAsFactors = FALSE) | |||
model_1 <- lm(LCI ~ alpha + gamma + IsLogistic + StartPercent, data = data) | |||
summary(model_1) | |||
</syntaxhighlight> | |||
; Результаты | |||
Call: | |||
lm(formula = LCI ~ alpha + gamma + IsLogistic + StartPercent, | |||
data = data) | |||
Residuals: | |||
Min 1Q [[Median]] 3Q Max | |||
-0.060078 -0.008360 0.000560 0.008557 0.040863 | |||
Coefficients: | |||
Estimate Std. Error t value Pr(>|t|) | |||
(Intercept) 9.746e-02 5.596e-03 17.42 <2e-16 *** | |||
alpha 6.845e-01 6.146e-02 11.14 <2e-16 *** | |||
gamma 5.253e+00 4.208e-02 124.83 <2e-16 *** | |||
IsLogistictrue -1.947e-02 6.871e-04 -28.34 <2e-16 *** | |||
StartPercent 7.842e-03 8.415e-05 93.19 <2e-16 *** | |||
--- | |||
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 | |||
Residual standard error: 0.01304 on 1435 degrees of freedom | |||
Multiple R-squared: 0.9461, Adjusted R-squared: 0.946 | |||
F-statistic: 6299 on 4 and 1435 DF, [[p-value]]: < 2.2e-16 | |||
[[p-value]]: < 2.2e-16 = <math>2 \times 10^{-16}</math> - (0.0000000000000002). Это значение экстремально мало, гораздо меньше стандартного порога <math>\alpha = 0.05</math> или даже <math>\alpha = 0.001</math>. | |||
==== Результаты анализа ==== | |||
{| class="wikitable" style="border-collapse: collapse; width: 100%; margin: 1em 0;" | |||
|- | |||
! Переменная !! Коэффициент !! Std. Error !! t-статистика !! p-значение !! Интерпретация | |||
|- | |||
| (Intercept) || 0.0975 || 0.00560 || 17.42 || <2e-16 || Базовое значение LCI при нулевых параметрах | |||
|- | |||
| alpha || 0.6845 || 0.06146 || 11.14 || <2e-16 || Увеличение alpha на 0.01 → LCI ↑ на 0.0068 | |||
|- | |||
| gamma || 5.253 || 0.04208 || 124.83 || <2e-16 || '''ДОМИНИРУЮЩИЙ ФАКТОР:''' увеличение gamma на 0.01 → LCI ↑ на 0.053 | |||
|- | |||
| IsLogistic (TRUE) || -0.01947 || 0.0006871 || -28.34 || <2e-16 || Логистический процесс снижает LCI на 0.0195 (консервативный эффект) | |||
|- | |||
| StartPercent || 0.007842 || 0.00008415 || 93.19 || <2e-16 || Увеличение начальной доли на 1% → LCI ↑ на 0.00784 | |||
|} | |||
==== Computational Statistics ==== | |||
{| class="wikitable" style="border-collapse: collapse; width: 100%; margin: 1em 0;" | |||
|- | |||
! Сфера !! Компонент !! Роль в исследовании | |||
|- | |||
| '''Agent-Based Modeling (ABM)''' || [[Language Change]] || Генерирует микроскопические данные поведения 1440 сценариев | |||
|- | |||
| '''Socio-Economic Statistics''' || Переменные: alpha, gamma, adoption, innovation || Переводит лингвистические процессы в параметры социальных систем | |||
|- | |||
| '''Computational Statistics (R)''' || [[Линейная регрессия]], [[факторный анализ]] || Синтезирует ABM-результаты в аналитическую модель | |||
|} | |||
Текущая версия от 15:26, 17 декабря 2025
| Описание | Регрессионная модель — это статистический инструмент, который помогает нам предсказывать значение одной переменной, исходя из значений других переменных. Это способ найти закономерность в данных и использовать её для предсказания будущих значений. В статье описано, как построить регрессионную модель и провести регрессионный анализ (на примере Language Change) |
|---|---|
| Область знаний | Статистика, Моделирование |
| Область использования (ISTE) | |
| Возрастная категория | 17
|
| Поясняющее видео | |
| Близкие рецепту понятия | Регрессия, Переменная, Остаток |
| Среды и средства для приготовления рецепта: | R, BehaviorSpace, NetLogo, Language Change, StatKey |
Регрессионная модель
Регрессионная модель описывает связь между переменными с помощью уравнения. Самая простая форма — линейная регрессия: [math]\displaystyle{ Y = \beta_0 + \beta_1 \cdot X + \varepsilon }[/math]
- Где
- Y — переменная, которую мы хотим предсказать (зависимая переменная)
- X — переменная, которую мы используем для предсказания (независимая переменная)
- β₀ (бета ноль) — свободный член (значение Y, когда X = 0)
- β₁ (бета один) — коэффициент при X (показывает, насколько Y изменится при увеличении X на единицу)
- ε (эпсилон) — ошибка модели (то, что модель не может объяснить)
Как построить регрессионную модель
- На примере данных из Language Change
- https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/Lang_Change_1440.csv
Спроектировать вычислительный эксперимент
- на примере модели Language Change
Определить независимые и зависимые переменные
Независимые переменные
- alpha (Вероятность адаптации/обучения) Диапазон: 0.025, 0.03, 0.035, 0.04 Смысл: вероятность того, что агент заимствует языковую форму от соседа при контакте. Гипотеза: большее alpha → быстрее распространяется инновация → выше LCI
- gamma (Вероятность спонтанной инновации/мутации) Диапазон: 0.02, 0.03, 0.04 Смысл: вероятность того, что агент независимо создаст новую языковую форму, не контактируя с соседями. Социально-экономический аналог: экзогенные инновации, креативность, предпринимательские инициативы. Гипотеза: gamma — критический фактор в модели, усиливает распространение инновации
- logistic? (Логистический vs экспоненциальный рост) Категория: TRUE / FALSE - - TRUE → логистический рост - Гипотеза: при logistic = TRUE инновация распространяется медленнее → ниже LCI
Зависимые переменные
Первая зависимая переменная: mean_state (LCI) = mean [state] of nodes [math]\displaystyle{ LCI = \text{mean}_i [state_i] = \frac{1}{N}\sum_{i=1}^{N} state_i, \quad N=100 }[/math]
- LCI (Language Change Index) — индекс изменения языка — среднее значение языкового состояния по всей популяции агентов
- Смысл: показывает средний уровень распространения языковой инновации в сообществе
- Диапазон: от 0 до 1, где 1 означает полное распространение инновации на всё сообщество, а 0 означает сохранение исходного состояния
- LCI отражает коллективный исход языкового процесса — насколько успешно языковая инновация завладела сообществом. Это макроскопический показатель, который агрегирует микроскопические решения каждого агента о принятии или отклонении инновации.
Вторая зависимая переменная (в модели фиксируется, но не используется в регрессии):
- count nodes with [state > 0.9] / count nodes — доля агентов, полностью принявших инновацию. Это показатель радикального принятия — какая часть сообщества достигла высокого уровня (>0.9) принятия инновации.
[math]\displaystyle{ Adoption\_Rate = \frac{|\{i: state_i \gt 0.9\}|}{N} \times 100\% }[/math]
Factorial Design
| Параметр | Уровни | Количество значений | Всего комбинаций |
|---|---|---|---|
| percent-grammar-1 | 55, 60, 65 | 3 | 3 |
| logistic? | TRUE, FALSE | 2 | 2 |
| alpha | 0.025, 0.03, 0.035, 0.04 | 4 | 4 |
| gamma | 0.02, 0.03, 0.04 | 3 | 3 |
| threshold-val | 0 | 1 | 1 |
| sink-state-1? | TRUE | 1 | 1 |
| update-algorithm | "reward" | 1 | 1 |
| num-nodes | 100 | 1 | 1 |
| ИТОГО экспериментальных сценариев: | 3 × 2 × 4 × 3 = 72 | ||
Вырастить данные в агент-ориентированной модели
- Запустить вашу модель NetLogo с использованием BehaviorSpace.
- Вырастить данные и записать csv
- Разместить данные на GitHub и сделать доступными - https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/Lang_Change_1440.csv
Для каждого из 72 сценариев проведено 20 повторений (реплик) с разными случайными сидами → 1440 наблюдений (данные в Lang_Change_1440.csv
Провести регрессионный анализ
- Какие факторы и как влияют на успешность распространения языковой инновации в агент-ориентированной системе?
[math]\displaystyle{ LCI = \beta_0 + \beta_1 \cdot \alpha + \beta_2 \cdot \gamma + \beta_3 \cdot IsLogistic + \beta_4 \cdot StartPercent + \epsilon }[/math]
data <- read.csv("../DataSets/Lang_Change_1440.csv",
header = TRUE,
stringsAsFactors = FALSE)
model_1 <- lm(LCI ~ alpha + gamma + IsLogistic + StartPercent, data = data)
summary(model_1)
- Результаты
Call: lm(formula = LCI ~ alpha + gamma + IsLogistic + StartPercent, data = data)
Residuals:
Min 1Q Median 3Q Max
-0.060078 -0.008360 0.000560 0.008557 0.040863
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.746e-02 5.596e-03 17.42 <2e-16 ***
alpha 6.845e-01 6.146e-02 11.14 <2e-16 ***
gamma 5.253e+00 4.208e-02 124.83 <2e-16 ***
IsLogistictrue -1.947e-02 6.871e-04 -28.34 <2e-16 ***
StartPercent 7.842e-03 8.415e-05 93.19 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.01304 on 1435 degrees of freedom Multiple R-squared: 0.9461, Adjusted R-squared: 0.946 F-statistic: 6299 on 4 and 1435 DF, p-value: < 2.2e-16
p-value: < 2.2e-16 = [math]\displaystyle{ 2 \times 10^{-16} }[/math] - (0.0000000000000002). Это значение экстремально мало, гораздо меньше стандартного порога [math]\displaystyle{ \alpha = 0.05 }[/math] или даже [math]\displaystyle{ \alpha = 0.001 }[/math].
Результаты анализа
| Переменная | Коэффициент | Std. Error | t-статистика | p-значение | Интерпретация |
|---|---|---|---|---|---|
| (Intercept) | 0.0975 | 0.00560 | 17.42 | <2e-16 | Базовое значение LCI при нулевых параметрах |
| alpha | 0.6845 | 0.06146 | 11.14 | <2e-16 | Увеличение alpha на 0.01 → LCI ↑ на 0.0068 |
| gamma | 5.253 | 0.04208 | 124.83 | <2e-16 | ДОМИНИРУЮЩИЙ ФАКТОР: увеличение gamma на 0.01 → LCI ↑ на 0.053 |
| IsLogistic (TRUE) | -0.01947 | 0.0006871 | -28.34 | <2e-16 | Логистический процесс снижает LCI на 0.0195 (консервативный эффект) |
| StartPercent | 0.007842 | 0.00008415 | 93.19 | <2e-16 | Увеличение начальной доли на 1% → LCI ↑ на 0.00784 |
Computational Statistics
| Сфера | Компонент | Роль в исследовании |
|---|---|---|
| Agent-Based Modeling (ABM) | Language Change | Генерирует микроскопические данные поведения 1440 сценариев |
| Socio-Economic Statistics | Переменные: alpha, gamma, adoption, innovation | Переводит лингвистические процессы в параметры социальных систем |
| Computational Statistics (R) | Линейная регрессия, факторный анализ | Синтезирует ABM-результаты в аналитическую модель |
