Добавление анализа для ЦКП #4

Open
opened 2026-07-30 13:21:56 +05:00 by artemiy · 2 comments
Owner

Нужен ли отдельный анализ для ЦКП? Выяснить, если необходимо, добавить

Нужен ли отдельный анализ для ЦКП? Выяснить, если необходимо, добавить
Author
Owner

Регрессионный анализ для ЦКП делается так же через МНК, только теперь это полный метод, с коэффициентами, отвечающими за нелинейность. Необходимо продумать дополнительную проверку, является ли матрица ЦКП.

Регрессионный анализ для ЦКП делается так же через МНК, только теперь это полный метод, с коэффициентами, отвечающими за нелинейность. Необходимо продумать дополнительную проверку, является ли матрица ЦКП.
Author
Owner

DeepSeek:

Анализ данных Центрального Композиционного Плана (ЦКП)

Да, для ЦКП необходим особый метод анализа, потому что мы переходим от линейной модели к квадратичной (полином второй степени). Линейная регрессия, которую вы использовали для ПФЭ, здесь не подходит – модель должна включать квадратичные члены и взаимодействия.


1. Модель и матрица X для ЦКП

Для k факторов квадратичная модель имеет вид:

y = b₀ + Σ bᵢ xᵢ + Σ bᵢᵢ xᵢ² + ΣΣ bᵢⱼ xᵢ xⱼ + ε

Матрица X для регрессии должна содержать:

  • столбец единиц (свободный член),
  • столбцы линейных членов,
  • столбцы квадратов,
  • столбцы парных произведений (взаимодействий).

Пример для k=2:

X = [1, x₁, x₂, x₁², x₂², x₁·x₂]

В программе это можно реализовать функцией, которая по матрице плана (в кодированных переменных) строит расширенную матрицу регрессоров.


2. Расчёт коэффициентов

Коэффициенты оцениваются тем же методом наименьших квадратов (МНК):

β = (Xᵀ X)⁻¹ Xᵀ y

Но теперь в β входят все члены квадратичной модели. Интерпретация:

  • bᵢ – линейный эффект,
  • bᵢᵢ – кривизна (квадратичный эффект),
  • bᵢⱼ – взаимодействие между факторами.

3. Где находится экстремум?

Экстремум (максимум, минимум или седловая точка) находится аналитически путём решения системы уравнений частных производных:

∂y/∂xᵢ = 0   для всех i

Для модели с двумя факторами это даёт систему двух линейных уравнений относительно x₁ и x₂. В общем случае решение:

x* = -0.5 * B⁻¹ * b

где:

  • B – матрица коэффициентов при квадратичных членах (размер k×k),
  • b – вектор коэффициентов при линейных членах.

Пример для двух факторов:

y = b₀ + b₁x₁ + b₂x₂ + b₁₁x₁² + b₂₂x₂² + b₁₂x₁x₂

Частные производные:

∂y/∂x₁ = b₁ + 2b₁₁x₁ + b₁₂x₂ = 0
∂y/∂x₂ = b₂ + b₁₂x₁ + 2b₂₂x₂ = 0

Решая систему, находим x₁*, x₂* – координаты стационарной точки.


4. Характер экстремума (максимум/минимум/седло)

Определяется анализом гессиана (матрицы вторых производных). Для квадратичной модели матрица вторых производных состоит из коэффициентов 2·bᵢᵢ на диагонали и bᵢⱼ вне диагонали. Если:

  • все собственные значения < 0максимум,
  • все собственные значения > 0минимум,
  • смешанные знакиседловая точка.

В двухфакторном случае это можно проверить по знаку определителя и коэффициентов.


5. Проверка адекватности квадратичной модели

Как и для линейной модели, используется ANOVA с разложением остатка на чистую ошибку и неадекватность. Если p‑значение неадекватности > α, модель адекватна. Если нет – возможно, нужна модель более высокого порядка (кубическая), но обычно квадратичной модели достаточно.


6. Как это реализовать в программе?

Сейчас ваша программа поддерживает только линейную регрессию. Для полноценной работы с ЦКП необходимо:

  1. Добавить функцию построения расширенной матрицы X для квадратичной моделиcore/statistics.py или новом модуле).
  2. В анализе автоматически определять по плану, является ли он ЦКП (есть ли звёздные точки и/или квадраты), и если да – предлагать пользователю построить квадратичную модель.
  3. Выводить коэффициенты квадратичной модели, их стандартные ошибки, t-статистики, R², ANOVA.
  4. Рассчитывать стационарную точку (экстремум) и её характер.
  5. Визуализировать поверхность (пока опционально, но полезно).

7. Предлагаемая дорожная карта доработок

Этап Что сделать
1 Создать функцию build_quadratic_X(plan, k) в core/statistics.py.
2 Добавить в analysis.py опцию «Квадратичная модель» (автоматически или по запросу).
3 Вывод таблицы коэффициентов с названиями (x₁, x₂, x₁², ...).
4 Расчёт и вывод координат экстремума и его типа (максимум/минимум/седло).
5 Добавить интерпретацию результатов (модуль interpreter.py расширить).

8. Рекомендуемая литература

Для углублённого изучения рекомендую главы 7–9 в книге Montgomery "Design and Analysis of Experiments" (глава о RSM) и Myers, Montgomery "Response Surface Methodology". Также классическая статья Box & Wilson (1951).


9. Практический вывод для вас

Сейчас вы находитесь на этапе, когда линейная модель неадекватна, поэтому вы должны перейти к квадратичной. ЦКП даёт данные, позволяющие построить такую модель и найти точный экстремум. Анализ для ЦКП требует расширенной матрицы и расчёта стационарной точки – это несложно реализовать в программе.

Если вы хотите, я могу разработать код для квадратичной регрессии и экстремума, чтобы вы могли сразу использовать его в своём проекте после ЦКП.

**DeepSeek:** ## Анализ данных Центрального Композиционного Плана (ЦКП) Да, **для ЦКП необходим особый метод анализа**, потому что мы переходим от линейной модели к **квадратичной (полином второй степени)**. Линейная регрессия, которую вы использовали для ПФЭ, здесь не подходит – модель должна включать квадратичные члены и взаимодействия. --- ### 1. Модель и матрица X для ЦКП Для `k` факторов квадратичная модель имеет вид: ``` y = b₀ + Σ bᵢ xᵢ + Σ bᵢᵢ xᵢ² + ΣΣ bᵢⱼ xᵢ xⱼ + ε ``` Матрица `X` для регрессии должна содержать: - столбец единиц (свободный член), - столбцы линейных членов, - столбцы квадратов, - столбцы парных произведений (взаимодействий). **Пример для k=2:** ``` X = [1, x₁, x₂, x₁², x₂², x₁·x₂] ``` **В программе** это можно реализовать функцией, которая по матрице плана (в кодированных переменных) строит расширенную матрицу регрессоров. --- ### 2. Расчёт коэффициентов Коэффициенты оцениваются тем же **методом наименьших квадратов (МНК)**: ``` β = (Xᵀ X)⁻¹ Xᵀ y ``` Но теперь в β входят все члены квадратичной модели. Интерпретация: - **bᵢ** – линейный эффект, - **bᵢᵢ** – кривизна (квадратичный эффект), - **bᵢⱼ** – взаимодействие между факторами. --- ### 3. Где находится экстремум? Экстремум (максимум, минимум или седловая точка) находится **аналитически** путём решения системы уравнений частных производных: ``` ∂y/∂xᵢ = 0 для всех i ``` Для модели с двумя факторами это даёт систему двух линейных уравнений относительно x₁ и x₂. В общем случае решение: ``` x* = -0.5 * B⁻¹ * b ``` где: - `B` – матрица коэффициентов при квадратичных членах (размер k×k), - `b` – вектор коэффициентов при линейных членах. **Пример для двух факторов:** ``` y = b₀ + b₁x₁ + b₂x₂ + b₁₁x₁² + b₂₂x₂² + b₁₂x₁x₂ ``` Частные производные: ``` ∂y/∂x₁ = b₁ + 2b₁₁x₁ + b₁₂x₂ = 0 ∂y/∂x₂ = b₂ + b₁₂x₁ + 2b₂₂x₂ = 0 ``` Решая систему, находим `x₁*`, `x₂*` – координаты стационарной точки. --- ### 4. Характер экстремума (максимум/минимум/седло) Определяется **анализом гессиана** (матрицы вторых производных). Для квадратичной модели матрица вторых производных состоит из коэффициентов `2·bᵢᵢ` на диагонали и `bᵢⱼ` вне диагонали. Если: - **все собственные значения < 0** → **максимум**, - **все собственные значения > 0** → **минимум**, - **смешанные знаки** → **седловая точка**. В двухфакторном случае это можно проверить по знаку определителя и коэффициентов. --- ### 5. Проверка адекватности квадратичной модели Как и для линейной модели, используется **ANOVA** с разложением остатка на чистую ошибку и неадекватность. Если p‑значение неадекватности > α, модель адекватна. Если нет – возможно, нужна модель более высокого порядка (кубическая), но обычно квадратичной модели достаточно. --- ### 6. Как это реализовать в программе? Сейчас ваша программа поддерживает только линейную регрессию. Для полноценной работы с ЦКП необходимо: 1. **Добавить функцию построения расширенной матрицы X для квадратичной модели** (в `core/statistics.py` или новом модуле). 2. **В анализе автоматически определять по плану, является ли он ЦКП** (есть ли звёздные точки и/или квадраты), и если да – предлагать пользователю построить квадратичную модель. 3. **Выводить коэффициенты квадратичной модели**, их стандартные ошибки, t-статистики, R², ANOVA. 4. **Рассчитывать стационарную точку** (экстремум) и её характер. 5. **Визуализировать поверхность** (пока опционально, но полезно). --- ### 7. Предлагаемая дорожная карта доработок | Этап | Что сделать | |------|-------------| | 1 | Создать функцию `build_quadratic_X(plan, k)` в `core/statistics.py`. | | 2 | Добавить в `analysis.py` опцию «Квадратичная модель» (автоматически или по запросу). | | 3 | Вывод таблицы коэффициентов с названиями (x₁, x₂, x₁², ...). | | 4 | Расчёт и вывод координат экстремума и его типа (максимум/минимум/седло). | | 5 | Добавить интерпретацию результатов (модуль `interpreter.py` расширить). | --- ### 8. Рекомендуемая литература Для углублённого изучения рекомендую главы 7–9 в книге **Montgomery "Design and Analysis of Experiments"** (глава о RSM) и **Myers, Montgomery "Response Surface Methodology"**. Также классическая статья **Box & Wilson (1951)**. --- ### 9. Практический вывод для вас Сейчас вы находитесь на этапе, когда линейная модель неадекватна, поэтому вы **должны** перейти к квадратичной. ЦКП даёт данные, позволяющие построить такую модель и найти точный экстремум. Анализ для ЦКП требует расширенной матрицы и расчёта стационарной точки – это несложно реализовать в программе. Если вы хотите, я могу разработать код для квадратичной регрессии и экстремума, чтобы вы могли сразу использовать его в своём проекте после ЦКП.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: artemiy/mixture_optimizer#4