2015-01-12 2 views
-2

Когда я работаю с парной условной и частичной причинностью Грейнджера, я решил выразить полученные эффекты каждой переменной в данной системе с помощью простой функции. Здесь «попарно» находится в смысле продвинутой теории G-причинности; а именно, число независимых (причинно-следственных) переменных и число зависимых переменных являются ОБА 1, когда они обусловлены третьим набором переменных (возможно, с более чем 1 переменной). Обратите внимание, что в передовой теории ГК учитываются учитывающие эффекты, и эти эффекты вычитаются из основного эффекта, следовательно, обнаруживается явный эффект в одном направлении, т. Е. Изолирован от эффектов смешающих переменных; следовательно, это истинная причинность.Как сформировать цикл внутри цикла, который отражает прыжки в шаблоне, чтобы создать определенный шаблон, который приведен ниже?

Теперь, чтобы отразить эффект приема матрицы (5x6), первая матрица эффектов считается:

V1 V2 V3 V4 V5 V6 (Variables) 
1 6 11 16 21 26 
2 7 12 17 22 27 
3 8 13 18 23 28 
4 9 14 19 24 29 
5 10 15 20 25 30 

Каждая из ячеек от 1 до 30 имеет значение ар (я не вступал точные значения р сами, скорее введенный индекс местоположения для каждого значения p). Это читается так:

(Эффект переменной по себе не принимается во внимание: каждая переменная является причиной сама по себе)

ГХ от V1 до V2 зависимость от других (V3, V4, V5 , V6) равно 1. Следовательно, V2 получает эффект от 1.

GC от V1 до V3, обусловленный другими (V2, V4, V5, V6) равен 2. Следовательно, V3 получает эффект от 2.

ГХ от V1 до V4 зависимость от других (V2, V3, V5, V6) равно 3. Следовательно, В4 получает эффект 3. ...
GC от V5 до V4, обусловленный остальными (V1, V2, V3, V6) равен 24. Следовательно, V4 получает эффект 24. ... GC от V2 до V1 зависит от остальных (V3 , V4, V5, V6) равна 6. Следовательно, V1 получает эффект от 6.

Таким образом, производятся значения принимаемых эффектов. Я хочу, чтобы встроить этот эффект приема значения матрицы 6х5 (здесь, 6 для переменных):

Эффект Получения матрицы (6х5):

Vars 
V1 6 11 16 21 26 
V2 1 12 17 22 27 
V3 2 7 18 23 28 
V4 3 8 13 24 29 
V5 4 9 14 19 30 
V6 5 10 15 20 25 

Я хочу, чтобы создать матрицу с выше записями: т.е. , а [1,1] = 6 а [1,2] = 11 а [2,3] = 17 ...

То, что я пытался: Я попытался цикл внутри цикла, операции в режиме мышления может быть полезно. Во всяком случае, я не решил. То, что я заметил:
1. Существует закономерность: увеличение 5 * к
2. Эта картина повреждена при прыжках. Например, для V1 происходит скачок при i = 1; для V2 существует скачок при i = 2; для V6 нет прыжка, так как до этой точки прыжка записываются все принимаемые эффекты V6.

Любая помощь будет принята с благодарностью.

+0

Я очень четко написал вопрос с его корнем. то есть от того, где была вызвана необходимость. Вероятно, голосование «вниз» объясняется длительной детализацией. Во всяком случае, я придаю большое значение подключению кстати. вопросы и их теоретические корни. –

+0

Я не понимаю, как рассчитываются значения GC. Можете ли вы дать нам формулу? –

+0

Значения с 1 по 30 имеют ИНДЕКСЫ соответствующих значений p; не сами значения p, конечно. значения p - это бит. 0 и 1, естественно. Точные значения p зависят от используемого набора данных; и не важно для вопроса здесь. Добавляя 5 p значений, я получаю итоговые эффекты для переменной. Я делаю это для всех переменных. Я также рассмотрел вопрос о «воздействии на других», а также «эффект принятия». Следовательно, в VAR W = f (Wt-1, Wt-2, ...), я рассматриваю структуру F (G) = 0 и, следовательно, «воздействуя на другие» и «эффект принятия»; следовательно, принимают решение о порядке переменных от более экзо до endo. –

ответ

1

Остановимся на мощном жаргоне, таком как Грейнджер Причинность, и просто назовите его эффектом.

Разве это не более выразительно с точки зрения следующего выражения?

vars <- 1:6 
id <- c() 
for (i in 1:6){ 
    id <- c(id, vars[-i]) 
} 
df1 <- stack(df) 
df1$id <- id 
library(tidyr) 
spread(df1, ind, values) 
# id 1 2 3 4 5 6 
#1 1 NA 6 11 16 21 26 
#2 2 1 NA 12 17 22 27 
#3 3 2 7 NA 18 23 28 
#4 4 3 8 13 NA 24 29 
#5 5 4 9 14 19 NA 30 
#6 6 5 10 15 20 25 NA 
spread(df1, id, values) 
# ind 1 2 3 4 5 6 
#1 1 NA 1 2 3 4 5 
#2 2 6 NA 7 8 9 10 
#3 3 11 12 NA 13 14 15 
#4 4 16 17 18 NA 19 20 
#5 5 21 22 23 24 NA 25 
#6 6 26 27 28 29 30 NA 

Он легко читает, например, эффект от 1 до 2 является 1, от 2 до 1 6, от 5 до 6 25 т.д.

вход, используемый

df <- structure(list(`1` = 1:5, `2` = 6:10, `3` = 11:15, `4` = 16:20, 
    `5` = 21:25, `6` = 26:30), .Names = c("1", "2", "3", "4", 
"5", "6"), class = "data.frame", row.names = c(NA, -5L)) 
+0

Я запускаю свой код; результат распространения распространяется не по столбцу, а по моим результатам: например, «NA 6 11 16 21 26» - это первая строка в моем результате; это 1-й столбец в вашем результате! Аналогично, для остальных: ваши столбцы - это мои строки. Не могли бы вы посмотреть там немного? –

 Смежные вопросы

  • Нет связанных вопросов^_^