Моделирование структурных уравнений: Полное руководство
Введение
Предположим, вы хотите понять, как различные аспекты вашей личности, такие как уверенность в себе, коммуникативные навыки и язык тела, влияют на вашу эффективность на собеседовании при приёме на работу. Вместо того чтобы рассматривать эти факторы по отдельности, моделирование структурных уравнений (SEM) позволяет одновременно анализировать такие сложные и взаимосвязанные отношения. SEM является многофакторным статистическим методом моделирования, который объединяет факторный анализ и регрессию. Это позволяет исследователям изучать как прямые, так и косвенные взаимосвязи между переменными. В то время как традиционный регрессионный анализ обычно ограничен наблюдаемыми (измеряемыми) переменными, SEM может беспрепятственно включать латентные переменные (теоретические конструкции, которые не измеряются напрямую) и учитывать ошибки измерения в данных. Это делает SEM мощным инструментом для проверки гипотез в психологии, образовании, маркетинге и других социальных науках, где многие концепции нельзя наблюдать напрямую.
В этом руководстве мы предоставим определение структурного моделирования уравнений (SEM), обсудим типы моделей, сравним его с регрессией и факторным анализом, а также проведем вас через некоторые практические применения SEM. Мы также предоставим пошаговый пример SEM на Python, затем покажем, как интерпретировать результаты SEM, обсудим сильные и слабые стороны SEM и рассмотрим некоторые из последних тенденций. Независимо от того, являетесь ли вы исследователем, пытающимся проверить теоретическую модель, или дата-сайентистом, который просто интересуется SEM, это руководство даст вам практическое, наглядное понимание структурного моделирования уравнений.
Основные выводы
- Структурное уравнение модели (SEM) объединяет факторный анализ и регрессию, что позволяет одновременно оценивать измерительные и структурные модели.
- Латентные переменные — это ненаблюдаемые или гипотетические конструкции, которые представляют абстрактные концепции, такие как интеллект, удовлетворенность или черты личности. Обычно они измеряются косвенно с помощью набора наблюдаемых индикаторов.
- В отличие от регрессионного анализа, SEM может учитывать несколько зависимых переменных, медиаторов и косвенные эффекты. Он может явно учитывать ошибки измерений в индикаторах.
- Соответствие модели данным оценивается с использованием различных индексов, таких как индекс сравнительного соответствия (CFI), индекс Таккера-Льюиса (TLI), среднеквадратичная ошибка аппроксимации (RMSEA) и стандартизированное среднеквадратичное отклонение остатка (SRMR). Значения этих индексов показывают, насколько хорошо предложенная модель соответствует наблюдаемым данным.
- СЕМ является гибкой и широко используемой техникой во многих областях, включая психологию, образование, маркетинг и социальные науки. Она используется для проверки гипотез, валидации конструкций и объяснения сложных взаимоотношений.
Некоторые ключевые понятия в терминологии SEM
Ключевые понятия в терминологии SEM включают:
- экзогенные и эндогенные переменные: Экзогенная переменная подобна независимой переменной (на диаграмме на неё не указывают стрелки), а эндогенная переменная подобна зависимой переменной, на которую указывает одна или несколько стрелок.
- латентные и наблюдаемые переменные: Латентные переменные (также известные как факторы или конструкции) не наблюдаются напрямую, а выводятся на основе измеряемых индикаторов. С другой стороны, наблюдаемые переменные измеряются напрямую (например, элементы опроса, результаты тестов).
- Коэффициенты пути/нагрузки факторов: Коэффициенты пути аналогичны регрессионным весам, отражая силу влияния между переменными. Нагрузки факторов (factor loadings) показывают связь между скрытыми факторами и их наблюдаемыми индикаторами в части модели, отвечающей за измерения.
Что такое структурное моделирование уравнений?
Моделирование структурных уравнений относится к семейству статистических методов, которые позволяют строить и проверять многопеременные модели. Это высоко гибкий подход к моделированию, поскольку исследователь может задать теоретическую модель (обычно в виде набора уравнений или диаграммы путей) и затем проверить, насколько эта модель соответствует наблюдаемым данным.
В своей основе структурное моделирование уравнений можно разделить на два компонента: модель измерений и структурную модель. Первая представляет собой ряд связей между скрытыми переменными и наблюдаемыми индикаторными переменными (аналогично факторному анализу), а вторая — ряд причинно-следственных (или корреляционных) связей между скрытыми переменными (и, возможно, наблюдаемыми переменными).
Структурная модель, напротив, может утверждать, что интеллект человека (латентная переменная) вызывает какой-либо другой результат, например академическую успеваемость (латентная или наблюдаемая переменная). Метод Структурного Уравнения (SEM) используется для одновременной оценки этих зависимостей, а также для проверки того, насколько общий паттерн модели соответствует данным. Рассмотрим следующую схему:
На этой диаграмме у нас есть латентная переменная Интеллект (измеряется тремя тестами: математика, вербальные способности, логика), которая предполагается предсказывать латентную переменную Учебная успеваемость (измеряется GPA и оценками по курсам). Стрелки показывают нагрузки (λ), структурные эффекты (β) и ошибки (ε).
СТМ имеет измерительные и структурные компоненты. Интеллект измеряется с помощью трёх тестовых показателей. Он влияет на академическую успеваемость, которая, в свою очередь, измеряется с помощью GPA и оценок за курсы. Ошибки индикаторов и эндогенное возмущение представлены; одна нагрузка устанавливается равной (=1) в целях идентификации.
Типы SEM: измерительные и структурные модели
СЭМ — это широкая концепция, которая охватывает несколько типов моделей. Полезно различать модели измерений и структурные модели, которые часто объединяются в полную СЭМ:
Модели измерений (Подтверждающий факторный анализ)
Модели измерений определяют, как скрытые переменные измеряются с помощью наблюдаемых индикаторов. Прототипичный пример модели измерений — это подтверждающий факторный анализ, где вы «нагружаете» наблюдаемые переменные на скрытые факторы в соответствии с теоретической моделью, а затем проверяете, подтверждают ли данные предполагаемую структуру измерений.
Например, предположим, что у вас есть теоретическая латентная конструкция «Математические способности», которую вы считаете измеряемой с помощью баллов по тестам по алгебре, геометрии и математическому анализу. В CFA вы бы определили «Математические способности» как латентный фактор с путями факторов к этим трем переменным баллов тестов.
Затем модель будет производить оценки факторных нагрузок (например, насколько каждый тест вносит вклад в фактор) и уникальные дисперсии ошибок (измерительные ошибки, уникальные для каждого теста). Хорошо специфицированная модель измерения будет иметь сильные нагрузки (например, высокую корреляцию между каждым тестом и математическими способностями) и хорошее соответствие данным, что указывает на то, что три наблюдаемые переменные действительно образуют единый конструкт.
Структурные модели (путевой анализ)
Эти модели определяют причинно-следственные (или корреляционные) связи между переменными (скрытыми или наблюдаемыми). Путевой анализ — это структурное моделирование уравнений (SEM) без скрытых переменных (только наблюдаемые переменные, между которыми проведены стрелки, чтобы отразить предполагаемые причинно-следственные связи или корреляции).
Модельные пути также могут включать медиаторы (переменные, которые передают влияние от одной к другой) и взаимные связи (с петлями обратной связи), чего невозможно достичь в одной регрессионной модели. Они также могут одновременно учитывать несколько результатов.
На практике многие исследования с использованием SEM будут сочетать оба подхода: модель измерения для каждой основной латентной конструкции в теории (часто сначала проводится подтверждающий факторный анализ, чтобы убедиться в качестве показателей, прежде чем двигаться дальше). За этим следует структурная модель, связывающая эти латентные конструкции между собой (а возможно, и с некоторыми наблюдаемыми переменными). Простая классификация моделей SEM, следовательно, может быть дана с точки зрения того, что они включают:
- Подтверждающий факторный анализ (CFA): Только латентные переменные и их индикаторы (стрелки направления между факторами отсутствуют, хотя факторы могут коррелировать).
- Анализ путей: Только наблюдаемые переменные, с направленными стрелками, моделирующими предполагаемые причинно-следственные связи (латентные факторы отсутствуют, поэтому модель измерений не требуется).
- Полная структурная модель (SEM): Латентные переменные (с их индикаторами), а также структурные связи между некоторыми переменными (латентными или наблюдаемыми). Это самый общий случай, объединяющий элементы КФА и пути, подобные регрессии, в одной общей модели.
- Вариации*:* SEM также была расширена в нескольких направлениях, таких как многогрупповая SEM (тестирование одной и той же модели на разных группах респондентов, например, соответствует ли модель мужчинам и женщинам), многоуровневая SEM (для иерархических данных) и модели латентного роста (тип SEM для моделирования изменений во времени с использованием продольных данных). Еще один особый тип SEM — это SEM с частичными наименьшими квадратами (PLS-SEM), который является более ориентированным на прогнозирование подходом, более подходящим для небольших выборок или ненормальных данных.
Когда использовать SEM (SEM vs. регрессия vs. факторный анализ)
Знание того, когда SEM является подходящим инструментом, имеет решающее значение. SEM лучше всего используется, когда исследовательские вопросы включают сложные взаимосвязи, которые более простые анализы не могут адекватно обработать, особенно в следующих сценариях:
- Несколько взаимосвязанных зависимых переменных: Когда у вас есть несколько переменных исхода, которые могут влиять друг на друга (например, в исследовании образования — влияние семейного происхождения на вовлеченность в учебу и влияние вовлеченности и происхождения на академическую успеваемость), структурное моделирование позволяет одновременно моделировать все эти исходы и их взаимосвязи. Множественная регрессия потребовала бы создания отдельного набора моделей и не смогла бы учесть ковариацию между исходами.
- Латентные переменные и ошибка измерения: Если вы хотите явно моделировать латентные конструкции (например, интеллект, социально-экономический статус, установки), которые выводятся из нескольких наблюдаемых показателей, SEM является оптимальным подходом. В отличие от обычной регрессии, которая рассматривает каждый наблюдаемый показатель (который может содержать шум) как не содержащий ошибок, SEM может учитывать ошибку измерения, позволяя латентным переменным «поглощать» общую дисперсию связанных с ними индикаторов. Это обеспечивает более надежные оценки взаимосвязей между конструкциями. Регрессионный анализ не может включать латентные факторы (только наблюдаемые переменные).
- Опосредующие пути и сложные причинно-следственные теории: Если ваша теория предполагает сеть причинно-следственных путей (посредников или модераторов). Например, если вы предполагаете, что Обучение → (вызывает) Мотивацию → (приводит к) Продуктивности, а также Обучение → Продуктивность, вы могли бы проверить эти гипотезы опосредования с помощью набора регрессий. Однако с использованием SEM вы можете проверить всю цепочку в одной модели. Это предоставит вам оценку прямых и косвенных эффектов одновременно, включая проверку соответствия всей модели.
- Подтверждение модели (подтверждающий анализ): Если у вас есть хорошо сформулированная гипотеза или теоретическая модель, SEM может предоставить правдоподобный подтверждающий тест. Он покажет, насколько хорошо вся модель соответствует данным, а не только отдельные коэффициенты. Стандартная регрессия может показать, что некоторые предикторы значимы, но не скажет, является ли предполагаемая структура самой правдоподобной альтернативой другим возможностям.
Связь с факторным анализом
Факторный анализ занимается объяснением ковариации между наблюдаемыми переменными через меньшее количество скрытых факторов. СЭМ является обобщением этой концепции: измерительная составляющая СЭМ представляет собой подтверждающий факторный анализ (CFA). Структурная составляющая СЭМ выходит за рамки факторного анализа, указывая причинно-следственные связи между скрытыми конструкциями или между скрытыми и наблюдаемыми переменными. Факторный анализ не моделирует причинные эффекты. СЭМ это делает.
Применение SEM в исследованиях
Ниже приведена таблица, в которой суммируются частые реальные приложения SEM в различных дисциплинах. Она также демонстрирует, как исследователи переосмысливают вопросы из интересующей области в виде моделей измерений (скрытые конструкции) и структурных путей (гипотетические эффекты). Используйте эту таблицу, чтобы быстро сопоставить вашу задачу с шаблоном SEM:
- Определите латентные конструкции.
- Измеряйте посредников, которых вы ожидаете, и результаты, которые для вас важны.
- Затем проверьте, что ваши данные подходят для модели (достаточный размер выборки, надежные показатели и сильное теоретическое обоснование стрелок, которые вы рисуете).
| Домен | Как применяется SEM | Примерные сценарии |
|---|---|---|
| Психология и социальные науки | Возникла и широко использовалась в психологии, социологии и смежных областях. Моделирует скрытые конструкции, такие как интеллект, личность, установки или благополучие. Позволяет работать с несколькими результатами и проверять, поддерживают ли данные теоретически предполагаемую сеть влияний. | Педагогическая психология: скрытые черты студентов (мотивация, социально-экономический статус) → учебные достижения. Социальные исследования: культурные ценности → поведение через посредников. Исследование отчисления из аспирантуры: поддержка, стресс и удовлетворенность → уровень отчислений. |
| Маркетинг и бизнес-исследования | Измеряйте восприятие клиентов и прогнозируйте такие результаты, как лояльность или намерение покупки. Создавайте индексы (удовлетворенность клиентов, ценность бренда) на основе опросов и проверяйте причинные связи. Учитывайте несколько посредников/результатов и погрешности измерений. | Анализ ключевых факторов: атрибуты продукта → латентные факторы → удовлетворенность/вероятность рекомендации. Эффект лестницы: восприятие → отношение → лояльность. Реклама: запоминание рекламы, узнаваемость бренда, отношение к бренду → покупки (внимание: наблюдательные данные ограничивают возможность делать причинно-следственные выводы). |
| Образование и социология | Проанализируйте, как происхождение студентов влияет на их успехи и результаты учебного заведения. Объедините показатели в латентные композиты (например, социально-экономический статус). Проверьте сложные теоретические модели в одной интегрированной модели. | Фон студента (доход, образование родителей) → академические достижения через качество школы и мотивацию. Социальный капитал: качество района (латентное) → жизненные результаты (трудоустройство, здоровье), опосредованные образованием. |
| Здравоохранение и эпидемиология | Моделируйте совместное влияние генетических и экологических латентных факторов на результаты здоровья. Представляйте качество жизни как скрытый конструкт, на который влияют несколько сфер (психическое, физическое здоровье и социальная поддержка). Одновременно учитывайте погрешности измерений и проверяйте медиаторные эффекты; моделируйте продольные данные с помощью латентных кривых роста. | Генетические и экологические факторы → риск заболевания (с корреляциями между ними). Фактор риска → промежуточные переменные → исход заболевания. Отслеживайте показатели здоровья во времени; определяйте предикторы траекторий. |
| Наука о данных и машинное обучение | Внесите интерпретируемость и осведомленность о причинно-следственных связях в предиктивную аналитику. Моделируйте латентные конструкции, такие как «предвзятость» или «восприятие справедливости». Интегрируйте SEM с машинным обучением для проверки структур и улучшения объяснимости. | Исследования справедливости ИИ: конструкции предвзятости/справедливости → результаты или решения. Подтверждение кластеров или проверка функций рекомендательной системы. Вовлеченность пользователей: скрытое удовлетворение и полезность → удержание. |
Интерпретация результатов SEM: индексы соответствия и коэффициенты
После оценки структуры уравнений с моделированием (SEM) можно интерпретировать два основных типа результатов: (1) качество подгонки общей модели и (2) оценки отдельных параметров (коэффициенты путей, загрузки и т.д.). Оба аспекта имеют важное значение при представлении результатов SEM.
Показатели соответствия модели: В отличие от простой регрессии (где можно рассматривать R² и F-тест для общей модели), SEM предоставляет ряд показателей соответствия, которые необходимо учитывать при интерпретации способности модели воспроизводить матрицу ковариаций наблюдаемых данных. В таблице ниже приведены общие показатели соответствия и способы их интерпретации.
| Индекс соответствия | Что оценивается | Общие пороги | Оговорки/Заметки |
|---|---|---|---|
| Критерий хи-квадрат (χ²) | Разница между наблюдаемой ковариационной матрицей и ковариационной матрицей, предполагаемой моделью. Несущественное значение χ² указывает на то, что модель может правдоподобно объяснять данные. | p > 0,05 → хорошее соответствие. χ²/df ≤ 2–3 часто приемлемо | Очень чувствителен к размеру выборки (большое N может сделать тривиальное несоответствие «значимым»). Редко используется самостоятельно; оценивается вместе с другими показателями. |
| CFI (Индекс Сравнительной Подгонки) | Сравнивает указанную модель с базовой моделью независимости (без корреляций между переменными). Диапазон 0–1; ближе к 1 — лучше. | CFI ≥ 0.95 → хорошее соответствие. CFI ≥ 0.90 → приемлемо (в некоторых случаях) | Менее чувствителен к размеру выборки, чем χ²; всё же рассматривается вместе с RMSEA/SRMR. |
| RMSEA (Среднеквадратичная ошибка аппроксимации) | Приближённая ошибка на степень свободы; поощряет экономность. Часто сообщается с 90% доверительным интервалом и значением p-близко. | ≤ 0,05 → хорошее соответствие. 0,05–0,08 → приемлемое соответствие. > 0,10 → плохое соответствие | Предпочтительно использовать RMSEA с доверительным интервалом; меньшие значения указывают на лучшее приближенное соответствие. |
| TLI (Индекс Такера–Льюиса/NNFI) | Индекс пошагового соответствия, подобно CFI, но сильнее наказывает за сложность модели. | TLI > 0,95 → желаемо | В редких случаях может превышать 1 или опускаться ниже 0; интерпретируйте вместе с другими индексами. |
| SRMR (Стандартизированное среднеквадратичное отклонение остатков) | Среднее стандартизированное различие между наблюдаемыми и модельными корреляциями. | SRMR < 0,08 → хорошее соответствие | Непосредственно интерпретируемо в единицах корреляции; дополняет RMSEA/CFI. |
| AIC/BIC (Информационные критерии) | Меры подгонки с штрафами используются для сравнения конкурирующих моделей (особенно не вложенных). | Более низкие AIC/BIC → предпочтительная модель (лучшее соответствие при экономии параметров) | Не абсолютные индексы соответствия; имеют значение только для сравнения между кандидатными моделями. |
Оценки параметров: Как только подгонка модели станет удовлетворительной, вы можете интерпретировать коэффициенты путей, факторные нагрузки и дисперсии:
| Элемент | Что это захватывает | Как интерпретировать (пороги и статистика) | Сигналы тревоги/Действия |
|---|---|---|---|
| Факторные нагрузки | Сила, с которой каждый наблюдаемый показатель отражает свой латентный фактор; часто стандартизированная. | Значимо (p < 0,05) и достаточно велико. Практическое правило: стандартизированная нагрузка ≥ 0,50 предпочтительна. Одна нагрузка может быть зафиксирована на уровне 1,0 для установки масштаба фактора. | Слабая/незначительная нагрузка → элемент может быть плохим индикатором. Рассмотрите возможность его пересмотра/удаления или проверки качества его измерения. |
| Регрессионные пути | Направление и сила взаимосвязей между переменными в структурной модели (с стандартными ошибками и значениями p). | Интерпретируйте коэффициенты с учётом других переменных в модели. Представьте оценки путей, стандартные ошибки (SE), p-значения и R² для эндогенных переменных. | Незначимые предполагаемые пути → пересмотреть теорию/мощность. Очень небольшие стандартизированные эффекты (например, 0,10) могут быть статистически значимыми, но не иметь практического значения. |
| Ковариации/Корреляции | Связи между переменными или терминами ошибок (стрелки с двумя концами), часто используемые для повторных измерений или эффектов, связанных с общим методом. | Ожидаются положительные, значимые ковариации для сопоставленных индикаторов с течением времени. Используйте их экономно и с теоретическим обоснованием. | Неожиданно высокие остаточные корреляции → возможно, упущенный фактор или методический эффект. Рассмотрите возможность добавления теоретически обоснованного латентного фактора или пересмотра измерения. |
Структурное моделирование уравнений в маркетинге с использованием Python
Мы создадим сквозной SEM-процесс, который:
-
Симулирует реалистичное маркетинговое исследование с пятью конструкциями:
- SQ: Качество обслуживания
- PF: Справедливость цены
- CS: Удовлетворенность клиентов
- BL: Лояльность к бренду
- PI: Намерение покупки
- Определяет рефлексивную модель измерений и структурную модель, основанную на теории.
- Подгоняет модель с помощью semopy и анализирует стандартизированные оценки и глобальные индексы соответствия (CFI, TLI, RMSEA, SRMR).
- Нарисуйте диаграмму пути.
Установка и импорт
pip install semopy graphviz import numpy as np import pandas as pd import semopy from semopy import Model, calc_stats, semplot, report
- semopy выполняет подгонку и проверку структурных уравнительных моделей (SEM).
- Для создания диаграмм через semplot требуется graphviz (система + пакет Python).
- numpy/pandas обрабатывают моделирование и фреймы данных.
Симулировать скрытые драйверы
# 1) Simulate a marketing survey (replace with your data later) # --------------------------- rng = np.random.default_rng(42) n = 800 # Exogenous latents: SQ & PF with correlation ~ .30 cov_exo = np.array([[1.0, 0.30], [0.30, 1.0]]) SQ, PF = rng.multivariate_normal(mean=[0, 0], cov=cov_exo, size=n).T
Код выше:
- Устанавливает воспроизводимый генератор случайных чисел и размер выборки.
- Моделирует две экзогенные латентные переменные — качество обслуживания (SQ) и справедливость цен (PF) — с корреляцией ≈ 0,30. В реальном примере клиенты, которые воспринимают качество обслуживания как высокое, вероятно, также будут считать цены справедливыми (но не абсолютно).
Смоделируйте последующие скрытые результаты с помощью структурной модели.
Давайте рассмотрим следующий код:
# Structural latents # CS = 0.6*SQ + 0.4*PF + e e_cs = rng.normal(0, 0.6, n) CS = 0.6*SQ + 0.4*PF + e_cs # BL = 0.7*CS + 0.2*SQ + e e_bl = rng.normal(0, 0.6, n) BL = 0.7*CS + 0.2*SQ + e_bl # PI = 0.8*BL + 0.3*CS + e e_pi = rng.normal(0, 0.6, n) PI = 0.8*BL + 0.3*CS + e_pi
Структурные латенты кодируют набор переменных, где CS выражается как комбинация SQ и PF с добавленным компонентом случайного шума. BL моделируется как функция CS и SQ с дополнительным шумом. PI зависит от BL и CS с некоторым шумом. Каждая из этих переменных является линейной комбинацией других переменных в модели с добавленной нормально распределенной ошибкой. Структурные латенты представляют собой линейную причинно-следственную цепь переменных, начиная с SQ и PF, продолжая через CS и BL и заканчивая на PI.
Преобразование скрытых переменных в наблюдаемые элементы опроса (модель измерения)
def make_indicators(latent, loads): # Simple reflective indicators with Gaussian noise; approx Likert-ish spread cols = {} for i, lam in enumerate(loads, start=1): cols[i] = lam*latent + rng.normal(0, 1 - lam**2, size=len(latent)) return cols # Measurement items (factor loadings ~ .6-.9) SQ_items = make_indicators(SQ, [0.85, 0.80, 0.75, 0.70]) PF_items = make_indicators(PF, [0.80, 0.70, 0.65]) CS_items = make_indicators(CS, [0.85, 0.75, 0.70]) BL_items = make_indicators(BL, [0.80, 0.75, 0.70]) PI_items = make_indicators(PI, [0.85, 0.75, 0.70])
Этот код имитирует наблюдаемые элементы измерений как отражающие индикаторы скрытых переменных. Для каждой скрытой переменной применяются нагрузки (или «силы»), а к индикаторам добавляется гауссовский шум, чтобы получить индикаторы с вариабельностью, пропорциональной нагрузкам. Индикаторы имеют характер, похожий на опросы (например, шкалы Лайкерта), и данные измерений в этом примере можно описать как реалистично смоделированные данные для SQ, PF, CS, BL и PI.
Соберите набор данных
df = pd.DataFrame({ # Service Quality "SQ1": SQ_items[1], "SQ2": SQ_items[2], "SQ3": SQ_items[3], "SQ4": SQ_items[4], # Price Fairness "PF1": PF_items[1], "PF2": PF_items[2], "PF3": PF_items[3], # Customer Satisfaction "CS1": CS_items[1], "CS2": CS_items[2], "CS3": CS_items[3], # Brand Loyalty "BL1": BL_items[1], "BL2": BL_items[2], "BL3": BL_items[3], # Purchase Intention "PI1": PI_items[1], "PI2": PI_items[2], "PI3": PI_items[3], })
Этот блок кода помещает все сгенерированные элементы измерений в DataFrame pandas, где каждый столбец представляет собой латентную конструкцию (SQ, PF, CS, BL, PI) и номер индикатора.
Объявите SEM (синтаксис в стиле lavaan, используемый semopy)
# 2) Specify SEM in semopy syntax # --------------------------- model_desc = """ # Measurement SQ =~ SQ1 + SQ2 + SQ3 + SQ4 PF =~ PF1 + PF2 + PF3 CS =~ CS1 + CS2 + CS3 BL =~ BL1 + BL2 + BL3 PI =~ PI1 + PI2 + PI3 # Structural CS ~ SQ + PF BL ~ CS + SQ PI ~ BL + CS # Exogenous correlation SQ ~~ PF """
Что оно определяет:
- =~ предоставляет факторные нагрузки (как элементы отражают латентную переменную).
- ~ указывает на регрессии среди латентных переменных (структурная модель).
- ~~ устанавливает ковариацию между экзогенными латентными переменными SQ и PF.
В приведённом выше коде модель semopy определяет модель структурных уравнений с двумя компонентами: измерительной и структурной. Измерительная компонента утверждает, что латентные переменные SQ, PF, CS, BL и PI отражаются через их наблюдаемые индикаторы. Она моделирует прямые причинно-следственные связи, указывая, что CS зависит от SQ и PF, BL зависит от CS и SQ, а PI зависит от BL и CS. Также допускается корреляция между SQ и PF (внешние латентные переменные могут быть коррелированы).
Подберите модель
# 3) Fit the model # --------------------------- model = Model(model_desc) result = model.fit(df) # ML by default print("Converged:", result.success) print(result)
Вывод
Converged: True Name of objective: MLW Optimization method: SLSQP Optimization successful. Optimization terminated successfully Objective value: 0.111 Number of iterations: 51 Params: 0.937 0.865 0.806 0.849 0.817 0.924 0.794 0.963 0.852 0.891 0.812 0.589 0.426 0.655 0.184 0.821 0.344 0.227 0.812 0.246 0.120 0.200 0.276 0.252 0.087 0.200 0.258 0.596 0.107 0.244 0.385 0.240 0.072 0.182 0.272 0.072 0.128 0.211 0.257
Этот код подгоняет определённую модель СЭМ под данные в DataFrame df, используя стандартную оценку максимального правдоподобия (Maximum Likelihood Estimation) из semopy. Затем он выводит информацию о том, сошлась ли оптимизация, и результаты подгонки, которые включают оценки параметров и статистику соответствия модели.
Проверить параметры (включая стандартизированные оценки)
# --------------------------- # 4) Parameter table (with standardized estimates) # --------------------------- est = model.inspect(std_est=True) # returns DataFrame # Make columns robust to version differences def pick(colnames, *cands): for c in cands: if c in colnames: return c return None col_est = pick(est.columns, "Estimate", "Estimates") col_std = pick(est.columns, "Std. Estimate", "Std Estimate") print(est.head(15))
lval op rval Estimate Est. Std Std. Err z-value p-value 0 CS ~ SQ 0.588536 0.610210 0.025719 22.883658 0.0 1 CS ~ PF 0.426119 0.378393 0.031308 13.610467 0.0 2 BL ~ CS 0.655012 0.663484 0.039701 16.498703 0.0 3 BL ~ SQ 0.183896 0.193134 0.036458 5.044052 0.0 4 PI ~ BL 0.820934 0.652613 0.050017 16.413209 0.0 5 PI ~ CS 0.344395 0.277323 0.047545 7.243527 0.0 6 SQ1 ~ SQ 1.000000 0.958348 - - - 7 SQ2 ~ SQ 0.936533 0.920794 0.018449 50.762054 0.0 8 SQ3 ~ SQ 0.865156 0.861719 0.021158 40.890559 0.0 9 SQ4 ~ SQ 0.806385 0.820023 0.022516 35.813445 0.0 10 PF1 ~ PF 1.000000 0.920838 - - - 11 PF2 ~ PF 0.849447 0.798678 0.033142 25.63032 0.0 12 PF3 ~ PF 0.816924 0.712679 0.036529 22.363594 0.0 13 CS1 ~ CS 1.000000 0.946910 - - - 14 CS2 ~ CS 0.923686 0.873781 0.023139 39.919809 0.0
Приведённый выше скрипт подгоняет модель SEM к данным и проверяет сходимость. Полученная таблица параметров с стандартизированными оценками создаётся с помощью model.inspect(std_est=True). Вспомогательная функция pick определена для учёта возможных различий в названиях столбцов (для оценок и стандартизированных оценок) в разных версиях semopy. Первые 15 строк таблицы параметров выводятся на экран, показывая оценённые параметры модели и их стандартные ошибки. Все пути статистически значимы (p < 0.001), что подтверждает гипотетическую структуру. В частности:
Структурные пути
- SQ сильно предсказывает CS (β ≈ 0,61) и вносит вклад в BL (β ≈ 0,19).
- Справедливость цены (PF) также предсказывает удовлетворенность клиентов (CS) (β ≈ 0,38).
- CS влияет на BL (β ≈ 0,66), а также напрямую влияет на намерение покупки (PI, β ≈ 0,28).
- Базовый уровень (BL) является самым сильным предиктором продуктивного интеллекта (PI) (β ≈ 0,65 стандартизированное).
Нагрузки измерений:
Все элементы (например, SQ1–SQ4, PF1–PF3, CS1–CS2 и т.д.) имеют высокие стандартизированные нагрузки (в основном выше 0,70–0,95). Это показывает, что индикаторы надежно измеряют свои конструкции.
Проверить соответствие глобальной модели
Эта строка вычисляет глобальные показатели соответствия для построенной модели SEM. Функция calc_stats() возвращает DataFrame pandas, содержащий распространенные статистики качества подгонки, такие как CFI, TLI, RMSEA и SRMR. Результаты выводятся в транспонированном формате, что облегчает их чтение и интерпретацию.
# 5) Global fit indices # --------------------------- stats = calc_stats(model) # DataFrame of CFI, TLI, RMSEA, SRMR, etc. print(stats.T)
Вывод:
Value DoF 97.000000 DoF Baseline 120.000000 chi2 88.443733 chi2 p-value 0.720763 chi2 Baseline 12178.091635 CFI 1.000710 GFI 0.992737 AGFI 0.991015 NFI 0.992737 TLI 1.000878 RMSEA 0.000000 AIC 77.778891 BIC 260.478748 LogLik 0.110555
Как мы видим, все значения показывают выдающиеся результаты. Тест хи-квадрат является незначимым (χ²=88.44, p=0.72), что указывает на хорошее соответствие модели данным. Все значения индексов соответствия (CFI (1.00), TLI (1.00), GFI (0.99) и NFI (0.99)) превышают обычный порог 0.95, что свидетельствует о превосходном соответствии. Значение RMSEA, равное 0.00, означает идеальное соответствие. Значения AIC и BIC относительно невысокие, что дополнительно подтверждает эффективность этой модели по сравнению с альтернативными.
Визуализация моделей SEM с помощью Semopy
import os png_path = "marketing_sem.png" try: semplot(model, png_path, plot_covs=True, plot_exos=True) # requires graphviz installed if os.path.exists(png_path): try: from IPython.display import Image, display display(Image(filename=png_path)) except Exception: print(f"Diagram saved to: {png_path}") except Exception as e: print("Diagram generation failed (Graphviz not found or other issue):", e)
Этот код строит модель SEM с помощью функции semplot из semopy и сохраняет её в виде PNG-файла. Для этого необходимо установить Graphviz. В случае успеха код также пытается отобразить изображение прямо в ноутбуке (например, Jupyter); в противном случае он выводит местоположение файла. Если выполнение блока кода не удаётся (например, из-за отсутствия Graphviz), выводится сообщение об ошибке.
Изображение показывает диаграмму путей структурной модели уравнений (SEM), используемой в маркетинговых исследованиях. Латентные конструкции представлены кругами: качество обслуживания (SQ), справедливость цен (PF), удовлетворенность клиентов (CS), лояльность к бренду (BL) и намерение покупки (PI). Прямоугольные узлы — это элементы опроса, используемые для измерения каждой конструкции. Числа на стрелках — это стандартизированные коэффициенты, указывающие величину каждой взаимосвязи. Модель показывает, что все элементы имеют высокие факторные нагрузки на соответствующие конструкции. Структурные пути указывают, что качество обслуживания и справедливость цен приводят к удовлетворенности, что ведет к лояльности, а лояльность является самым сильным предиктором намерения покупки. Пунктирная стрелка представляет положительную корреляцию между SQ и PF.
Преимущества и ограничения СЭМ
Как и любой метод, SEM имеет свои плюсы и минусы. Давайте их рассмотрим:
Преимущества
- Моделирование сложных взаимосвязей. SEM может моделировать множество зависимых переменных и косвенные эффекты в одном анализе.
- Измерение скрытых конструкций. Скрытые переменные повышают конструктную валидность и уменьшают ошибку измерения.
- Тестирование сложных теорий. SEM может задавать сложные сети взаимосвязей и оценивать прямые и косвенные эффекты. По сравнению с отдельными регрессионными моделями, SEM предоставляет больше информации и более глубокие интерпретации.
- Отсутствующие данные и ненормальность. Современное программное обеспечение для структурного моделирования уравнений (SEM) использует метод максимального правдоподобия для работы с отсутствующими данными и устойчивые оцениватели. Это делает его подходящим, когда данные неполные или ненормально распределены.
- Визуализация. Диаграммы путей могут быть полезны при общении с людьми, не являющимися специалистами по статистике.
- Интеграция с машинным обучением. SEM служит основой для интерпретируемого машинного обучения и причинно-следственного вывода.
Ограничения
- Сложность и экспертность. Модели SEM могут быть концептуально и вычислительно сложными для разработки и понимания. Неправильная спецификация или чрезмерная подгонка модели могут привести к ошибочным или вводящим в заблуждение выводам.
- Требования к размеру выборки. SEM обычно требует больших размеров выборки. Распространённое эмпирическое правило — размер выборки не менее 200, с 10–20 наблюдениями на каждый оцениваемый параметр; меньшие выборки могут привести к нестабильным и смещённым оценкам параметров.
- Предположения о линейности и нормальности. Предполагается линейная зависимость между переменными и мультимодальная нормальность остатков. Нарушения этих предположений могут привести к смещённым оценкам параметров.
- Идентификация модели. Модель должна быть сверхопределённой, что означает наличие достаточной информации для оценки всех её параметров. Недоопределённые модели, у которых недостаточно информации, оценить нельзя.
- Касуальная неоднозначность. SEM может проверить, соответствуют ли данные предполагаемой каузальной модели, но не устанавливает причинно-следственные связи. Несколько конкурирующих моделей могут одинаково хорошо подходить к данным; для указания правильной модели требуется сильное теоретическое обоснование.
- Проблемы с программным обеспечением. Хотя доступно много программ для SEM (таких как AMOS, LISREL, Mplus, EQS, lavaan и semopy), они различаются по функционалу и стоимости. Некоторые продвинутые методы (например, байесовская SEM) могут требовать специализированного программного обеспечения.
Новые тенденции: SEM в машинном обучении и каузальном выводе
Структурное моделирование (SEM) имеет свои корни в статистике и общественных науках 20-го века, но оно продолжает развиваться и находить новые применения, особенно на стыке с современными вычислительными методами и возрастающим упором на причинно-следственный вывод в науке о данных:
Байесовский и непараметрический SEM
Традиционная структура уравнений (SEM) использует метод максимального правдоподобия и предполагает многомерную нормальность. Байесовская SEM использует байесовское выводирование для оценки апостериорных распределений параметров модели. Это позволяет исследователю включать априорную информацию о параметрах в анализ. Байесовская SEM также предоставляет преимущества при малых выборках и ненормальности данных. Пакет R blavaan является расширением lavaan, специально разработанным для байесовских моделей. PyMC и semopy также позволяют использовать байесовскую SEM в Python. Как пропагандирует Джудиа Перл, непараметрическая SEM является обобщением SEM, выходящим за рамки линейных моделей, чтобы учитывать нелинейные и негауссовыские зависимости.
SEM в машинном обучении и искусственном интеллекте
SEM объединяется с машинным обучением для улучшения интерпретации этих моделей и включения знаний о домене. Например, причинные нейронные сети используют структурные уравнения, чтобы непосредственно ограничить причинно -следственную структуру глубоких сетей. SEM обеспечивает принципиальный подход к интеграции скрытых переменных в нервные модели и интерпретацию скрытых слоев. Частичные наименьшие квадраты SEM и анализ пути также являются полезными дополнениями к неконтролируемым методам, таким как автоходовые. Эти гибридные методы, вероятно, станут более распространенными, поскольку наборы данных увеличиваются в размерах и сложности.
Регуляризация и высокоразмерная SEM
В условиях высокой размерности (много переменных относительно числа наблюдений) традиционная структурная модель (SEM) сталкивается с трудностями, связанными с идентификацией и переобучением. Подходы SEM с регуляризацией вводят штрафы (например, L1, L2) на параметры модели, чтобы стимулировать разреженность и улучшить обобщающую способность. Пакет semopy также поддерживает регуляризацию и модели со случайными эффектами. Кроме того, другие пакеты R, такие как regsem, реализуют штрафные SEM. Эти методы расширяют масштабируемость SEM для больших наборов генетических данных и данных мозговой визуализации.
Выявление причинно-следственных связей и направленные ациклические графы
Структурное уравнение моделирования (SEM) связано с семейством причинно-следственных графических моделей, известных как направленные ациклические графы. Недавние алгоритмы обнаружения причинно-следственных связей (алгоритм PC, Fast Causal Inference) могут автоматически выявлять причинную структуру из данных при учете предположений о независимостях и отсутствии скрытых смешивающих факторов. Сочетание SEM и методов обнаружения на основе DAG может позволить исследователям строить правдоподобные причинные модели в таких областях, как генетика, экономика и искусственный интеллект.
РАЗДЕЛ ЧАСТЫХ ВОПРОСОВ
Для чего используется моделирование структурных уравнений? Моделирование структурных уравнений (SEM) — это статистический метод, который позволяет исследовать сложные связи между наблюдаемыми (измеряемыми) и скрытыми (неизмеряемыми) переменными. SEM широко используется в различных областях, включая психологию, образование, маркетинг и социальные науки.
В чем разница между SEM и регрессионным анализом? Регрессия фокусируется только на наблюдаемых переменных. Она предсказывает одну переменную на основе других. SEM расширяет регрессию, включая скрытые переменные. Она тестирует всю систему взаимосвязей (модель измерений + структурная модель вместе).
Какое программное обеспечение лучше всего подходит для SEM? Существует множество программных пакетов, и «лучший» выбор зависит от ваших потребностей. Вот некоторые популярные из них:
- AMOS (дополнение к SPSS): Имеет удобный для пользователя интерфейс с возможностью перетаскивания. Подходит для начинающих.
- LISREL: Одна из старейших программ для структурного моделирования (SEM). Очень гибкая, но с крутой кривой обучения.
- Mplus: Мощная программа, способная обрабатывать сложные модели (например, многоуровневые, смешанные, продольные).
- R (пакеты lavaan, semopy): Бесплатный и с открытым исходным кодом, R является одним из самых популярных вариантов для SEM. Очень гибкий и может легко интегрироваться с рабочими процессами анализа данных.
- Stata и SAS: У них есть надежные пакеты для структурного моделирования (SEM), и их можно использовать для прикладных исследований.
Какие существуют общие показатели соответствия SEM? Ниже приведены некоторые распространенные показатели соответствия SEM, позволяющие определить, насколько хорошо ваша модель соответствует данным:
- Хи-квадрат (χ²): Проверяет гипотезу о том, что модель точно соответствует данным. Очень чувствителен к размеру выборки.
- CFI (Индекс сравнительной подгонки): Значения выше 0,90 считаются приемлемыми, а выше 0,95 — хорошими.
- TLI (Индекс Такера-Льюиса): Идентичные пороги с CFI.
- RMSEA (Среднеквадратичная ошибка приближения): Значения меньше 0.08 считаются допустимыми, в то время как значения меньше 0.05 указывают на хорошее соответствие.
- SRMR (Стандартизированное среднеквадратичное отклонение остатков): Значения меньше 0,08 считаются хорошими.
Заключение
Моделирование структурных уравнений является статистической методологией и способом осмысления сложных систем взаимосвязанных конструкций или переменных. SEM может применяться в различных областях, таких как социальные науки, психология, маркетинг, образование, экономика и другие. Независимо от того, изучаете ли вы влияние черт личности на производительность на рабочем месте, анализируете удовлетворенность клиентов в маркетинговых исследованиях или проверяете психологические теории, SEM предоставляет вам рамки для моделирования латентных конструкций, учета ошибок измерений и оценки нескольких взаимосвязей одновременно.
Главное преимущество структурного моделирования (SEM) заключается в его способности внедрять теорию в практику. Вы можете взять концептуальную модель в своей голове, преобразовать её в схему путей, а затем проверить, насколько хорошо она соответствует реальности. Сочетание измерительных и структурных моделей делает SEM особенно полезным в областях, где интерес представляют человеческое поведение, восприятие или отношение.
СЭМ также быстро развивается и интегрируется с другими областями, такими как машинное обучение, причинно-следственный анализ и большие данные. Байесовская СЭМ, регуляризация для высокоразмерных данных и причинно-следственные открытия — это некоторые из захватывающих разработок, которые делают СЭМ более надежной, масштабируемой и гибкой. Если вы исследователь, аналитик или специалист по данным, интересующийся СЭМ, или если вы хотите узнать о ней больше, вам будет полезно следить за последними тенденциями и инновациями в области СЭМ.
Если вы хотите прочитать другие статьи, которые дополняют SEM и помогут вам освоить различные области науки о данных, ознакомьтесь с следующими материалами:
Удаление тумана с изображений: что это такое, зачем и как
Удаление шума с помощью диффузионной модели
Функция which() в R
Функции with() и within() в R
Ссылки и ресурсы
- Моделирование структурных уравнений: раскрытие сложных взаимосвязей в данных
- Обзор структурного моделирования уравнений (SEM) для исследователей в области маркетинга
- Примените моделирование структурных уравнений к задачам машинного обучения для создания объяснимой и убедительной модели
- Повышение теоретического понимания и прогностической точности в бизнес-исследованиях: сочетание PLS-SEM и выбранных алгоритмов машинного обучения
- Влияние воспринимаемой справедливости цены, качества продукта и качества обслуживания на лояльность клиентов с посредничеством удовлетворенности клиентов у потребителей Shopee
Спасибо, что учитесь вместе с сообществом Linux-Console.net.







Добавить комментарий