<figcaption> </figcaption></figure><p>上記のデータをもとに加法モデルにかけた。
# 以下は最初の1回のみコメントを外して実行し、2回目以降はコメントアウトする。
# install.packages('gam');
# install.packages('akima')
library('gam');
data <- read.csv('C:\\Users\\Master\\Downloads\\5-4sensui4 - 5-4sensui4.csv', fileEncoding = 'UTF-8');
data <- data.frame(data, 雷装 = data$素雷装 + data$装備雷装)
result <- gam(命中可否 ~ s(検証艦Lv) + s(雷装) + s(装備命中) + s(合計改修値) + s(運) + s(敵回避), gaussian, data);
summary(result);
par(mfrow = c(2, 3))
plot(result, terms = attr(terms(result), 'term.labels')[1])
plot(result, terms = attr(terms(result), 'term.labels')[2])
plot(result, terms = attr(terms(result), 'term.labels')[3])
plot(result, terms = attr(terms(result), 'term.labels')[4])
plot(result, terms = attr(terms(result), 'term.labels')[5])
plot(result, terms = attr(terms(result), 'term.labels')[6])
<figcaption> </figcaption></figure><figure class="article-thumb tright show-info-icon" style="width: 180px">
<figcaption> </figcaption></figure>
data <- read.csv('C:\\Users\\Master\\Documents\\艦これ\\雷撃戦\\5-4sensui5 - 5-4sensui5.csv', fileEncoding = 'UTF-8');
data <- data.frame(data, 雷装 = data$素雷装 + data$装備雷装, 陣形1 = 1 * (data$陣形 == 1), 陣形2 = 1 * (data$陣形 == 2))
attach(data)
#組み合わせ
#
#雷装そのまま 検証艦Lv √検証艦Lv
# 敵回避 TS1 TS2
# √敵回避TS3 TS4
#
#√雷装 検証艦Lv √検証艦Lv
# 敵回避 TS5 TS6
# √敵回避TS7 TS8
TS1.lm <- glm(命中可否 ~ 検証艦Lv + 雷装 + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ 敵回避, family=gaussian)
summary(TS1.lm)
TS2.lm <- glm(命中可否 ~ sqrt(検証艦Lv) + 雷装 + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ 敵回避, family=gaussian)
summary(TS2.lm)
TS3.lm <- glm(命中可否 ~ 検証艦Lv + 雷装 + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ sqrt(敵回避), family=gaussian)
summary(TS3.lm)
TS4.lm <- glm(命中可否 ~ sqrt(検証艦Lv) + 雷装 + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ sqrt(敵回避), family=gaussian)
summary(TS4.lm)
TS5.lm <- glm(命中可否 ~ 検証艦Lv + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ 敵回避, family=gaussian)
summary(TS5.lm)
TS6.lm <- glm(命中可否 ~ sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ 敵回避, family=gaussian)
summary(TS6.lm)
TS7.lm <- glm(命中可否 ~ 検証艦Lv + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ sqrt(敵回避), family=gaussian)
summary(TS7.lm)
TS8.lm <- glm(命中可否 ~ sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ sqrt(敵回避), family=gaussian)
summary(TS8.lm)
AIC(TS1.lm)
AIC(TS2.lm)
AIC(TS3.lm)
AIC(TS4.lm)
AIC(TS5.lm)
AIC(TS6.lm)
AIC(TS7.lm)
AIC(TS8.lm)
TS6.st <- step(glm(命中可否 ~ sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 陣形1 + 陣形2+ 敵回避, family=gaussian))
summary(TS6.st)
AIC(TS6.st)
<figcaption> </figcaption></figure><figure class="article-thumb tright show-info-icon" style="width: 180px">
<figcaption> </figcaption></figure>陣形補正が乗算かもしれなかったので再度上データで、同様に線形回帰
<p>一番フィットしていたものにステップをかけると
</p><p>命中率=(0.023 - 0.0088 × 陣形2) × √検証艦Lv + 0.028 × √雷装 + 0.0058 × 装備命中 + 0.0054 × I(改修1 + 改修2) + (0.0011 + 0.00034 × 陣形1) × 運 - 0.011 × 陣形1 + 0.038 × 陣形2 - 0.00056 × 敵回避 + 0.56
</p>
data <- read.csv('C:\\Users\\Master\\Documents\\艦これ\\雷撃戦\\5-4sensui5 - 5-4sensui5.csv', fileEncoding = 'UTF-8');
data <- data.frame(data, 雷装 = data$素雷装 + data$装備雷装, 陣形1 = 1 * (data$陣形 == 1), 陣形2 = 1 * (data$陣形 == 2))
attach(data)
#組み合わせ
#
#雷装そのまま 検証艦Lv √検証艦Lv
# 敵回避 TS1 TS2
# √敵回避TS3 TS4
#√雷装 検証艦Lv √検証艦Lv
# 敵回避 TS5 TS6
# √敵回避TS7 TS8
TS1.lm <- glm(命中可否 ~ (検証艦Lv + 雷装 + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + 敵回避, family=gaussian)
summary(TS1.lm)
TS2.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + 雷装 + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + 敵回避, family=gaussian)
summary(TS2.lm)
TS3.lm <- glm(命中可否 ~ (検証艦Lv + 雷装 + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + sqrt(敵回避), family=gaussian)
summary(TS3.lm)
TS4.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + 雷装 + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + sqrt(敵回避), family=gaussian)
summary(TS4.lm)
TS5.lm <- glm(命中可否 ~ (検証艦Lv + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + 敵回避 , family=gaussian)
summary(TS5.lm)
TS6.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + 敵回避, family=gaussian)
summary(TS6.lm)
TS7.lm <- glm(命中可否 ~ (検証艦Lv + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + sqrt(敵回避), family=gaussian)
summary(TS7.lm)
TS8.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + sqrt(敵回避), family=gaussian)
summary(TS8.lm)
AIC(TS1.lm)
AIC(TS2.lm)
AIC(TS3.lm)
AIC(TS4.lm)
AIC(TS5.lm)
AIC(TS6.lm)
AIC(TS7.lm)
AIC(TS8.lm)
TS6.st <- step(glm(命中可否 ~ (sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運) * (陣形1 + 陣形2) + 敵回避, family=gaussian))
summary(TS6.st)
AIC(TS6.st)
<figcaption> </figcaption></figure><figure class="article-thumb tright show-info-icon" style="width: 180px">
<figcaption> </figcaption></figure><p>うみゃさんの推定から陣形補正が乗算の可能性があるということで、敵回避も陣形補正の乗算に含めました。
データはうみゃさんの推定と同じものを使用しています。最後の結果の画像だけ貼り付けています。
</p><p>最もフィットしていたモデルにステップをかけ、得られたモデルからp値が0.55あった陣形2を除いた命中推定式を、以下に示します。
</p><p>命中率=(0.023 - 0.0079 × 陣形2) × √検証艦Lv + 0.028 × √雷装 + 0.0058 × 装備命中 + 0.0054 × I(改修1 + 改修2) + (0.0011 + 0.00035 × 陣形1) × 運 - 0.011 × 陣形1 -(0.0060 - 0.00078 × 陣形2) × 敵回避 + 0.58
</p>
data <- read.csv('C:\\Users\\Master\\Dropbox\\Kancolle\\5-4sensui5.csv', fileEncoding = 'UTF-8');
data <- data.frame(data, 雷装 = data$素雷装 + data$装備雷装, 陣形1 = 1 * (data$陣形 == 1), 陣形2 = 1 * (data$陣形 == 2))
attach(data)
#雷装そのまま 検証艦Lv √検証艦Lv
# 敵回避 TS1 TS2
# √敵回避 TS3 TS4
#√雷装 検証艦Lv √検証艦Lv
# 敵回避 TS5 TS6
# √敵回避 TS7 TS8
TS1.lm <- glm(命中可否 ~ (検証艦Lv + 雷装 + 装備命中 + I(改修1 + 改修2) + 運+ 敵回避) * (陣形1 + 陣形2), family=gaussian)
summary(TS1.lm)
TS2.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + 雷装 + 装備命中 + I(改修1 + 改修2) + 運+ 敵回避 ) * (陣形1 + 陣形2), family=gaussian)
summary(TS2.lm)
TS3.lm <- glm(命中可否 ~ (検証艦Lv + 雷装 + 装備命中 + I(改修1 + 改修2) + 運+ sqrt(敵回避)) * (陣形1 + 陣形2), family=gaussian)
summary(TS3.lm)
TS4.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + 雷装 + 装備命中 + I(改修1 + 改修2) + 運+ sqrt(敵回避)) * (陣形1 + 陣形2) , family=gaussian)
summary(TS4.lm)
TS5.lm <- glm(命中可否 ~ (検証艦Lv + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運+ 敵回避) * (陣形1 + 陣形2) , family=gaussian)
summary(TS5.lm)
TS6.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運+ 敵回避) * (陣形1 + 陣形2), family=gaussian)
summary(TS6.lm)
TS7.lm <- glm(命中可否 ~ (検証艦Lv + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運+ sqrt(敵回避)) * (陣形1 + 陣形2), family=gaussian)
summary(TS7.lm)
TS8.lm <- glm(命中可否 ~ (sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運+ sqrt(敵回避)) * (陣形1 + 陣形2) , family=gaussian)
summary(TS8.lm)
AIC(TS1.lm)
AIC(TS2.lm)
AIC(TS3.lm)
AIC(TS4.lm)
AIC(TS5.lm)
AIC(TS6.lm)
AIC(TS7.lm)
AIC(TS8.lm)
TS6.st <- step(glm(命中可否 ~ (sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 敵回避) * (陣形1 + 陣形2), family=gaussian))
summary(TS6.st)
AIC(TS6.st)
TS9.lm <- glm(命中可否 ~ sqrt(検証艦Lv) + sqrt(雷装) + 装備命中 + I(改修1 + 改修2) + 運 + 敵回避 + 陣形1 + sqrt(検証艦Lv):陣形2 + 運:陣形1 + 敵回避:陣形2,family=gaussian)
AIC(TS9.lm)
summary(TS9.lm)
Buin kenshoさんの雷撃命中データをもとに、砲撃命中推定式の形式に合わせた雷撃命中率の式を推定しました。
推定命中率(キャップ0.9691) = + 0.9272 + 0.02178 * sqrt(Lv - 1) + 0.002058 * 艦娘雷装 + 0.001518 * 装備雷装 + 0.009017 * 装備命中 + 0.02014 * (sqrt(改修値1) + sqrt(改修値2)) + 0.001463 * 運 - if (回避値 < A, 回避値 / (2 * A), 回避値 / (回避値 + A)) A = 単縦: 37.40, 複縦: 37.16, 輪形: 32.77