### 探索不願表態者隱藏意向 (Tacit Intention)

• 筆數：1077，其中「表態=是」670「表態=否」350，「表態=NA」57
• 各因素筆數分析：

• 各因素統計值分析：

 因素 最小值 最大值 平均數 標準差 FactorA 0 4 2.5 1.5 FactorB 0 3 1.1 0.9 FactorC 0 10 5.6 2.5 FactorD 0 4 1.8 1.2 年齡 20 92 44.1 15.3
```RawData <- read.table("RawData.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)
summary(RawData)
```
• 某因素迴歸分析： 在 95% 信賴區間下，Factor4Factor2 及 是否表態 (Attitude) 所決定。

```Call:
lm(formula = Factor4 ~ Age + Factor1 + Factor2 + Factor3 + Attitude, data = SRC)

Residuals:
Min      1Q  Median      3Q     Max
-6.1798 -1.1013  0.0496  1.8800  4.6377

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)  4.448575   0.427161  10.414  < 2e-16 ***
Age         -0.002476   0.006456  -0.384  0.70140
Factor1     -0.027297   0.110072  -0.248  0.80421
Factor2      0.164183   0.068692   2.390  0.01710 *
Factor3      0.005206   0.089847   0.058  0.95381
Attitude     1.148066   0.363276   3.160  0.00164 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.536 on 721 degrees of freedom
Multiple R-squared:  0.02735,	Adjusted R-squared:  0.02061
F-statistic: 4.055 on 5 and 721 DF,  p-value: 0.001229
```

• 資料分群處理：將原始資料 Attitude 欄位資料，將 {1=Y, 0=N} 與 { NA } 分成各自獨立的檔案。以下為 Python 程式：

 ```# Data Normalization # Filter out NA Records # Source File fileName = "RawData.csv" csvFile = open(fileName, 'r') # Normalized File solidFileName = "Data_NA_None.csv" solidCsvFile = open(solidFileName, 'w') isFirstLine = True csvHeader = [] while True: csvLine = csvFile.readline() if not csvLine: break if isFirstLine: isFirstLine = False csvHeader = csvLine.strip().split(',') solidCsvFile.write('"%s","%s","%s","%s","%s","%s"\n' % (csvHeader[1], csvHeader[2], csvHeader[3], csvHeader[4], csvHeader[5], csvHeader[6])) else: csvFields = csvLine.strip().split(',') isNA = False for i in range(1, 6): if csvFields[i] == 'NA': isNA = True break if not isNA: Attitude = 'N' if csvFields[1] == '1': Attitude = 'Y' solidCsvFile.write('"%s",%s,%s,%s,%s,%s\n' % (Attitude, csvFields[2], csvFields[3], csvFields[4], csvFields[5], csvFields[6])) solidCsvFile.close() csvFile.close() ``` ```# Data Normalization # Extract Turnout=NA Records # Filter out Others=NA Records # Source File fileName = "RawData.csv" csvFile = open(fileName, 'r') # Normalized File solidFileName = "Data_NA.csv" solidCsvFile = open(solidFileName, 'w') isFirstLine = True csvHeader = [] while True: csvLine = csvFile.readline() if not csvLine: break if isFirstLine: isFirstLine = False csvHeader = csvLine.strip().split(',') solidCsvFile.write('"%s","%s","%s","%s","%s","%s"\n' % (csvHeader[1], csvHeader[2], csvHeader[3], csvHeader[4], csvHeader[5], csvHeader[6])) else: csvFields = csvLine.strip().split(',') isNA = False for i in range(2, 6): if csvFields[i] == 'NA': isNA = True break if not isNA: if csvFields[1] == 'NA': Attitude = 'NA' solidCsvFile.write('"%s",%s,%s,%s,%s,%s\n' % (Attitude, csvFields[2], csvFields[3], csvFields[4], csvFields[5], csvFields[6])) solidCsvFile.close() csvFile.close() ```
• 轉換資料格式：將 CSV 檔案格式轉換為 Weka ARFF 格式。

```@attribute Attitude {Y,N,NA}
@attribute FactorA numeric
@attribute FactorB numeric
@attribute FactorC numeric
@attribute FactorD numeric
@attribute Age numeric
```

 模型訓練：以表態 Attitude={Y, N} 作為訓練資料 ```Scheme:weka.classifiers.trees.RandomTree -K 0 -M 1.0 -S 1 Relation: Data_NA_None Instances: 727 Attributes: 6 Attitude FactorA FactorB FactorC FactorD Age Test mode:10-fold cross-validation Size of the tree : 235 ``` ```Correctly Classified Instances 636 87.4828 % Incorrectly Classified Instances 91 12.5172 % Kappa statistic 0.1268 Mean absolute error 0.0839 Root mean squared error 0.2893 Relative absolute error 85.6765 % Root relative squared error 131.7859 % Total Number of Instances 727 ``` ``` a b c <-- classified as 625 45 0 | a = Y 46 11 0 | b = N 0 0 0 | c = NA ``` ``` TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.933 0.807 0.931 0.933 0.932 0.562 Y 0.193 0.067 0.196 0.193 0.195 0.562 N 0 0 0 0 0 ? NA Weighted Avg. 0.875 0.749 0.874 0.875 0.874 0.562 ``` 模型適配：以訓練模型推敲 Attitude={ NA } 資料 ``` a b c <-- classified as 0 0 0 | a = Y 0 0 0 | b = N 307 43 0 | c = NA ``` 說明： 使用 RandomTree 分類方法。 在訓練資料中，Attitude 表態為 {Y} 者，有 625 筆為真，45 筆為假。 在訓練資料中，Attitude 表態為 {N} 者，有 11 筆為真，46 筆為假。 在訓練資料中，總共有 636 筆為真，91 筆為假。 訓練模型準確度：87.4828 % 在未表態資料中，有 307 筆推敲為 {Y}，43 筆推敲為 {N}。 推敲未表態者 ```inst#, actual, predicted, error, probability distribution 1 3:NA 1:Y + *1 0 0 2 3:NA 1:Y + *1 0 0 3 3:NA 1:Y + *1 0 0 4 3:NA 1:Y + *1 0 0 5 3:NA 1:Y + *1 0 0 6 3:NA 1:Y + *1 0 0 7 3:NA 1:Y + *1 0 0 8 3:NA 1:Y + *1 0 0 9 3:NA 2:N + 0 *1 0 10 3:NA 1:Y + *1 0 0 11 3:NA 1:Y + *1 0 0 12 3:NA 1:Y + *1 0 0 13 3:NA 1:Y + *1 0 0 14 3:NA 1:Y + *1 0 0 15 3:NA 1:Y + *1 0 0 16 3:NA 2:N + 0 *1 0 17 3:NA 2:N + 0 *1 0 18 3:NA 1:Y + *1 0 0 19 3:NA 1:Y + *1 0 0 20 3:NA 1:Y + *1 0 0 21 3:NA 1:Y + *1 0 0 22 3:NA 1:Y + *1 0 0 23 3:NA 2:N + 0 *1 0 24 3:NA 1:Y + *1 0 0 25 3:NA 1:Y + *1 0 0 26 3:NA 1:Y + *1 0 0 27 3:NA 1:Y + *1 0 0 28 3:NA 1:Y + *1 0 0 29 3:NA 1:Y + *1 0 0 30 3:NA 1:Y + *1 0 0 31 3:NA 2:N + 0 *1 0 32 3:NA 1:Y + *1 0 0 33 3:NA 1:Y + *1 0 0 34 3:NA 1:Y + *1 0 0 35 3:NA 1:Y + *1 0 0 36 3:NA 2:N + 0 *1 0 37 3:NA 1:Y + *1 0 0 38 3:NA 1:Y + *1 0 0 39 3:NA 2:N + 0 *1 0 40 3:NA 1:Y + *1 0 0 41 3:NA 1:Y + *1 0 0 42 3:NA 1:Y + *1 0 0 43 3:NA 1:Y + *1 0 0 44 3:NA 1:Y + *1 0 0 45 3:NA 1:Y + *1 0 0 46 3:NA 2:N + 0 *1 0 47 3:NA 1:Y + *1 0 0 48 3:NA 1:Y + *1 0 0 49 3:NA 2:N + 0 *1 0 50 3:NA 1:Y + *1 0 0 51 3:NA 1:Y + *1 0 0 52 3:NA 1:Y + *1 0 0 53 3:NA 2:N + 0 *1 0 54 3:NA 1:Y + *1 0 0 55 3:NA 1:Y + *1 0 0 56 3:NA 1:Y + *1 0 0 57 3:NA 1:Y + *1 0 0 58 3:NA 1:Y + *1 0 0 59 3:NA 2:N + 0 *1 0 60 3:NA 1:Y + *1 0 0 61 3:NA 1:Y + *1 0 0 62 3:NA 1:Y + *1 0 0 63 3:NA 1:Y + *1 0 0 64 3:NA 2:N + 0 *1 0 65 3:NA 1:Y + *1 0 0 66 3:NA 1:Y + *1 0 0 67 3:NA 1:Y + *1 0 0 68 3:NA 1:Y + *1 0 0 69 3:NA 1:Y + *1 0 0 70 3:NA 1:Y + *1 0 0 71 3:NA 1:Y + *1 0 0 72 3:NA 1:Y + *1 0 0 73 3:NA 1:Y + *1 0 0 74 3:NA 2:N + 0 *1 0 75 3:NA 1:Y + *1 0 0 76 3:NA 1:Y + *0.5 0.5 0 77 3:NA 1:Y + *1 0 0 78 3:NA 1:Y + *0.5 0.5 0 79 3:NA 1:Y + *1 0 0 80 3:NA 1:Y + *1 0 0 81 3:NA 1:Y + *1 0 0 82 3:NA 1:Y + *1 0 0 83 3:NA 2:N + 0 *1 0 84 3:NA 1:Y + *1 0 0 85 3:NA 1:Y + *1 0 0 86 3:NA 1:Y + *1 0 0 87 3:NA 1:Y + *1 0 0 88 3:NA 1:Y + *1 0 0 89 3:NA 1:Y + *1 0 0 90 3:NA 1:Y + *1 0 0 91 3:NA 1:Y + *1 0 0 92 3:NA 1:Y + *1 0 0 93 3:NA 1:Y + *1 0 0 94 3:NA 1:Y + *1 0 0 95 3:NA 1:Y + *1 0 0 96 3:NA 1:Y + *1 0 0 97 3:NA 1:Y + *1 0 0 98 3:NA 1:Y + *1 0 0 99 3:NA 1:Y + *1 0 0 100 3:NA 1:Y + *1 0 0 101 3:NA 1:Y + *1 0 0 102 3:NA 1:Y + *1 0 0 103 3:NA 2:N + 0 *1 0 104 3:NA 1:Y + *1 0 0 105 3:NA 1:Y + *1 0 0 106 3:NA 1:Y + *1 0 0 107 3:NA 1:Y + *1 0 0 108 3:NA 1:Y + *1 0 0 109 3:NA 1:Y + *1 0 0 110 3:NA 1:Y + *1 0 0 111 3:NA 1:Y + *1 0 0 112 3:NA 1:Y + *1 0 0 113 3:NA 1:Y + *1 0 0 114 3:NA 1:Y + *1 0 0 115 3:NA 1:Y + *1 0 0 116 3:NA 1:Y + *1 0 0 117 3:NA 1:Y + *1 0 0 118 3:NA 1:Y + *1 0 0 119 3:NA 1:Y + *1 0 0 120 3:NA 1:Y + *1 0 0 121 3:NA 1:Y + *1 0 0 122 3:NA 1:Y + *1 0 0 123 3:NA 1:Y + *1 0 0 124 3:NA 1:Y + *1 0 0 125 3:NA 1:Y + *1 0 0 126 3:NA 1:Y + *1 0 0 127 3:NA 1:Y + *1 0 0 128 3:NA 1:Y + *1 0 0 129 3:NA 1:Y + *1 0 0 130 3:NA 1:Y + *1 0 0 131 3:NA 1:Y + *1 0 0 132 3:NA 1:Y + *1 0 0 133 3:NA 1:Y + *1 0 0 134 3:NA 1:Y + *0.5 0.5 0 135 3:NA 1:Y + *1 0 0 136 3:NA 1:Y + *1 0 0 137 3:NA 1:Y + *1 0 0 138 3:NA 2:N + 0 *1 0 139 3:NA 1:Y + *1 0 0 140 3:NA 1:Y + *1 0 0 141 3:NA 1:Y + *1 0 0 142 3:NA 1:Y + *1 0 0 143 3:NA 1:Y + *1 0 0 144 3:NA 1:Y + *1 0 0 145 3:NA 1:Y + *1 0 0 146 3:NA 1:Y + *1 0 0 147 3:NA 1:Y + *1 0 0 148 3:NA 1:Y + *1 0 0 149 3:NA 1:Y + *1 0 0 150 3:NA 1:Y + *1 0 0 151 3:NA 1:Y + *1 0 0 152 3:NA 1:Y + *1 0 0 153 3:NA 1:Y + *1 0 0 154 3:NA 1:Y + *1 0 0 155 3:NA 1:Y + *1 0 0 156 3:NA 1:Y + *1 0 0 157 3:NA 1:Y + *1 0 0 158 3:NA 2:N + 0 *1 0 159 3:NA 1:Y + *1 0 0 160 3:NA 2:N + 0 *1 0 161 3:NA 1:Y + *1 0 0 162 3:NA 1:Y + *0.5 0.5 0 163 3:NA 2:N + 0 *1 0 164 3:NA 1:Y + *1 0 0 165 3:NA 1:Y + *1 0 0 166 3:NA 1:Y + *1 0 0 167 3:NA 1:Y + *1 0 0 168 3:NA 1:Y + *1 0 0 169 3:NA 1:Y + *1 0 0 170 3:NA 2:N + 0 *1 0 171 3:NA 1:Y + *1 0 0 172 3:NA 1:Y + *1 0 0 173 3:NA 2:N + 0 *1 0 174 3:NA 1:Y + *1 0 0 175 3:NA 1:Y + *1 0 0 176 3:NA 2:N + 0 *1 0 177 3:NA 1:Y + *1 0 0 178 3:NA 1:Y + *1 0 0 179 3:NA 1:Y + *1 0 0 180 3:NA 1:Y + *1 0 0 181 3:NA 1:Y + *1 0 0 182 3:NA 1:Y + *1 0 0 183 3:NA 1:Y + *1 0 0 184 3:NA 2:N + 0 *1 0 185 3:NA 1:Y + *1 0 0 186 3:NA 1:Y + *1 0 0 187 3:NA 1:Y + *1 0 0 188 3:NA 1:Y + *1 0 0 189 3:NA 2:N + 0 *1 0 190 3:NA 1:Y + *1 0 0 191 3:NA 1:Y + *1 0 0 192 3:NA 2:N + 0 *1 0 193 3:NA 2:N + 0 *1 0 194 3:NA 1:Y + *1 0 0 195 3:NA 1:Y + *1 0 0 196 3:NA 2:N + 0 *1 0 197 3:NA 1:Y + *1 0 0 198 3:NA 1:Y + *1 0 0 199 3:NA 2:N + 0 *1 0 200 3:NA 1:Y + *1 0 0 201 3:NA 1:Y + *1 0 0 202 3:NA 1:Y + *1 0 0 203 3:NA 1:Y + *1 0 0 204 3:NA 1:Y + *1 0 0 205 3:NA 1:Y + *1 0 0 206 3:NA 1:Y + *1 0 0 207 3:NA 1:Y + *1 0 0 208 3:NA 1:Y + *1 0 0 209 3:NA 1:Y + *1 0 0 210 3:NA 1:Y + *1 0 0 211 3:NA 1:Y + *1 0 0 212 3:NA 1:Y + *1 0 0 213 3:NA 1:Y + *1 0 0 214 3:NA 1:Y + *1 0 0 215 3:NA 1:Y + *1 0 0 216 3:NA 1:Y + *1 0 0 217 3:NA 1:Y + *1 0 0 218 3:NA 1:Y + *1 0 0 219 3:NA 2:N + 0 *1 0 220 3:NA 1:Y + *1 0 0 221 3:NA 1:Y + *1 0 0 222 3:NA 1:Y + *1 0 0 223 3:NA 1:Y + *1 0 0 224 3:NA 1:Y + *1 0 0 225 3:NA 1:Y + *1 0 0 226 3:NA 1:Y + *1 0 0 227 3:NA 1:Y + *1 0 0 228 3:NA 1:Y + *1 0 0 229 3:NA 1:Y + *1 0 0 230 3:NA 2:N + 0 *1 0 231 3:NA 1:Y + *1 0 0 232 3:NA 1:Y + *1 0 0 233 3:NA 1:Y + *1 0 0 234 3:NA 1:Y + *1 0 0 235 3:NA 1:Y + *1 0 0 236 3:NA 1:Y + *1 0 0 237 3:NA 1:Y + *1 0 0 238 3:NA 1:Y + *1 0 0 239 3:NA 1:Y + *1 0 0 240 3:NA 1:Y + *1 0 0 241 3:NA 2:N + 0 *1 0 242 3:NA 1:Y + *1 0 0 243 3:NA 2:N + 0 *1 0 244 3:NA 2:N + 0 *1 0 245 3:NA 1:Y + *1 0 0 246 3:NA 1:Y + *1 0 0 247 3:NA 1:Y + *1 0 0 248 3:NA 1:Y + *1 0 0 249 3:NA 1:Y + *1 0 0 250 3:NA 1:Y + *1 0 0 251 3:NA 1:Y + *1 0 0 252 3:NA 1:Y + *1 0 0 253 3:NA 1:Y + *1 0 0 254 3:NA 1:Y + *1 0 0 255 3:NA 1:Y + *1 0 0 256 3:NA 2:N + 0 *1 0 257 3:NA 2:N + 0 *1 0 258 3:NA 1:Y + *1 0 0 259 3:NA 1:Y + *1 0 0 260 3:NA 1:Y + *1 0 0 261 3:NA 2:N + 0 *1 0 262 3:NA 1:Y + *1 0 0 263 3:NA 2:N + 0 *1 0 264 3:NA 1:Y + *1 0 0 265 3:NA 1:Y + *1 0 0 266 3:NA 1:Y + *1 0 0 267 3:NA 1:Y + *1 0 0 268 3:NA 1:Y + *1 0 0 269 3:NA 1:Y + *1 0 0 270 3:NA 1:Y + *1 0 0 271 3:NA 1:Y + *1 0 0 272 3:NA 1:Y + *1 0 0 273 3:NA 1:Y + *1 0 0 274 3:NA 1:Y + *1 0 0 275 3:NA 1:Y + *1 0 0 276 3:NA 1:Y + *1 0 0 277 3:NA 1:Y + *1 0 0 278 3:NA 1:Y + *1 0 0 279 3:NA 1:Y + *1 0 0 280 3:NA 2:N + 0 *1 0 281 3:NA 1:Y + *1 0 0 282 3:NA 1:Y + *1 0 0 283 3:NA 1:Y + *1 0 0 284 3:NA 1:Y + *1 0 0 285 3:NA 1:Y + *1 0 0 286 3:NA 1:Y + *1 0 0 287 3:NA 1:Y + *1 0 0 288 3:NA 1:Y + *1 0 0 289 3:NA 1:Y + *1 0 0 290 3:NA 1:Y + *1 0 0 291 3:NA 1:Y + *1 0 0 292 3:NA 1:Y + *1 0 0 293 3:NA 1:Y + *1 0 0 294 3:NA 1:Y + *1 0 0 295 3:NA 1:Y + *1 0 0 296 3:NA 1:Y + *1 0 0 297 3:NA 1:Y + *1 0 0 298 3:NA 2:N + 0 *1 0 299 3:NA 1:Y + *1 0 0 300 3:NA 1:Y + *1 0 0 301 3:NA 1:Y + *1 0 0 302 3:NA 1:Y + *1 0 0 303 3:NA 1:Y + *1 0 0 304 3:NA 1:Y + *1 0 0 305 3:NA 1:Y + *1 0 0 306 3:NA 1:Y + *1 0 0 307 3:NA 1:Y + *1 0 0 308 3:NA 1:Y + *1 0 0 309 3:NA 1:Y + *1 0 0 310 3:NA 1:Y + *1 0 0 311 3:NA 1:Y + *1 0 0 312 3:NA 1:Y + *1 0 0 313 3:NA 1:Y + *1 0 0 314 3:NA 2:N + 0 *1 0 315 3:NA 1:Y + *1 0 0 316 3:NA 1:Y + *1 0 0 317 3:NA 2:N + 0 *1 0 318 3:NA 1:Y + *1 0 0 319 3:NA 1:Y + *1 0 0 320 3:NA 1:Y + *1 0 0 321 3:NA 1:Y + *1 0 0 322 3:NA 1:Y + *1 0 0 323 3:NA 1:Y + *1 0 0 324 3:NA 1:Y + *1 0 0 325 3:NA 1:Y + *1 0 0 326 3:NA 1:Y + *1 0 0 327 3:NA 1:Y + *1 0 0 328 3:NA 1:Y + *1 0 0 329 3:NA 1:Y + *1 0 0 330 3:NA 1:Y + *1 0 0 331 3:NA 1:Y + *1 0 0 332 3:NA 2:N + 0 *1 0 333 3:NA 2:N + 0 *1 0 334 3:NA 1:Y + *1 0 0 335 3:NA 1:Y + *1 0 0 336 3:NA 1:Y + *1 0 0 337 3:NA 1:Y + *1 0 0 338 3:NA 1:Y + *1 0 0 339 3:NA 1:Y + *1 0 0 340 3:NA 1:Y + *1 0 0 341 3:NA 1:Y + *1 0 0 342 3:NA 1:Y + *1 0 0 343 3:NA 1:Y + *1 0 0 344 3:NA 1:Y + *1 0 0 345 3:NA 1:Y + *1 0 0 346 3:NA 1:Y + *1 0 0 347 3:NA 1:Y + *1 0 0 348 3:NA 1:Y + *1 0 0 349 3:NA 1:Y + *1 0 0 350 3:NA 1:Y + *1 0 0 ```
ċ
Data_NA.arff
(5k)

2013年6月7日 上午2:40
ċ
Data_NA_None.arff
(10k)

2013年6月7日 上午2:34
ċ
RawData.csv
(11k)

2013年6月7日 上午2:08