III 8 (3) VBA, R / III 8 (2013 05 28 ) / 39
2X Y Y X θ 1, θ 2,... Y = f(x, θ 1, θ 2,...) θ k III 8 (2013 05 28 ) 1 / 39
Y X 1, X 2,..., X n Y = f(x 1, X 2,..., X n, θ 1, θ 2,...) (y k, x 1,k, x 2,k,...) S(θ) = (y k f(x 1,k, x 2,k,..., x n,k, θ 1, θ 2,...) k III 8 (2013 05 28 ) 2 / 39
θ III 8 (2013 05 28 ) 3 / 39
f θ k QR Excel 100Excel III 8 (2013 05 28 ) 4 / 39
Excel Excel Excel 20132 20 = 1048576 Excel 201316 100 III 8 (2013 05 28 ) 5 / 39
Excel VBA Excel Excel 2 20 Excel QR Excel R QR QR 23 III 8 (2013 05 28 ) 6 / 39
VBA VBA (Visual Basic for Applications) Visual Basic VBAVisual Basic Visual BasicC III 8 (2013 05 28 ) 7 / 39
VBA 6-1b.xlsx 2 Excel.xlsm 01 Sub test() 02 Dim tmp As Double 03 tmp = Worksheets("Sheet1").Range("C4").Value 04 tmp = tmp * tmp 05 Range("E4").Value = tmp 06 Range("F4").Value = "=POWER(C4,2)" 07 MsgBox(": =" + CStr(tmp)) 08 End Sub test III 8 (2013 05 28 ) 8 / 39
VBA 0108Subtest 1test 02 Double tmp Dim As Doubletmp Dim As As III 8 (2013 05 28 ) 9 / 39
VBA 03Sheet1C4tmp = "" 04tmp2tmp 05E4tmpE4 III 8 (2013 05 28 ) 10 / 39
VBA 06 F4 "=POWER(C4,2)" 07 ": =" + CStr(tmp) +"AB"+"CD""ABCD" CStr() III 8 (2013 05 28 ) 11 / 39
VBA VBA 02 Dim tmp As Double 02 dim tmp as double "a" "A" III 8 (2013 05 28 ) 12 / 39
VBA : Integer : 2 15 2 15 Long : 2 31 2 31 Currency : 2 63 2 63 Single : 106 Double : 1015 String : Boolean : TrueFalse Variant : III 8 (2013 05 28 ) 13 / 39
VBA : + : 3+47 - : 3-4-1 * : 3*412 / : 3/41 \ (or ) : 3\40 Mod : 8 Mod 32 ˆ : 3ˆ23 2 9 () III 8 (2013 05 28 ) 14 / 39
VBA () IfElseIfElseEnd If 01 If A Then 02 A 03 ElseIf B Then 04 AB 05 ElseIf C Then 06 A, BC 07 Else 08 A, B, C 09 End If ElseIf0Else III 8 (2013 05 28 ) 15 / 39
VBA () A = B : ABTrue= A < B : ABTrue A > B : ABTrue A <= B : ABTrue A >= B : ABTrue A <> B : ABTrue A And B : ABTrueTrue A Or B : ABTrue True Not A : ATrueTrue III 8 (2013 05 28 ) 16 / 39
VBA (For) ForForNext 01 For = To Step 02 03 Next Step 1 III 8 (2013 05 28 ) 17 / 39
VBA (For) 01 Dim i As Integer 02 For i = 3 To 10 Step 2 03 (i=3, 5, 7, 94) 04 Next 01 Dim i As Integer 02 For i = 1 To 5 03 (i=1, 2, 3, 4, 55) 04 Next 01 Dim i As Integer 02 For i = 10 To 3 Step -3 03 (i=10, 7, 43) 04 Next III 8 (2013 05 28 ) 18 / 39
VBA (For) ForExit For 01 Dim i As Integer 02 For i = 3 To 10 Step 2 03 If i = 7 Then 04 Exit For i=7for 05 End If 06 (i=3, 52) 07 Next III 8 (2013 05 28 ) 19 / 39
VBA (Do) DoLoopExit Do 01 Dim i As Integer 02 i = 1 03 Do 04 (i=1, 2, 3, 44) 05 i = i + 1 06 If i = 5 Then 07 Eixt Do 08 End If 09 Loop III 8 (2013 05 28 ) 20 / 39
VBA (Do, While) DoLoop While 01 Dim i As Integer 02 i = 1 03 Do While i < 5 04 (i=1, 2, 3, 44) 05 i = i + 1 06 Loop 01 Dim i As Integer 02 i = 10 03 Do While i < 5 04 (1) 05 i = i + 1 06 Loop III 8 (2013 05 28 ) 21 / 39
VBA CInt : Integer CLng : Long CSng : Single CDbl : Double CStr : String III 8 (2013 05 28 ) 22 / 39
VBA 1 Dim () As (0)(1)...()+1 01 Dim i As Integer 02 Dim arr(5) As Integer 03 For i = 0 To 5 04 arr(i) = i * i 05 Next arr(0) 0 arr(3) 9 arr(5) 25 III 8 (2013 05 28 ) 23 / 39
VBA 01 Dim i As Integer 02 Dim arr(5) As Integer 01 Dim i As Integer, arr(5) As Integer 01 Dim i, arr(5) As Integer ivariant III 8 (2013 05 28 ) 24 / 39
VBA Worksheets("Sheet1").Range("C4").Value Worksheets("Sheet1").Cells(4,3).Value C4Worksheets("Sheet1"). III 8 (2013 05 28 ) 25 / 39
VBA (SubFunction) Sub AB QRQR2 QRAB 2 III 8 (2013 05 28 ) 26 / 39
VBA Sub FunctionSub 01 Sub Kaku(n As Long) 02 Dim i As Long 03 For i = 1 To n 04 Cells(i, 1) = 0 05 Next 06 End Sub Call Kaku(5) Kaku 5 150 III 8 (2013 05 28 ) 27 / 39
VBA 01 Function MySum(n As Long) 02 Dim i As Long, s As Long 03 s = 0 04 For i = 1 To n 05 s = s + i 06 Next 07 MySum = s 08 End Function n = MySum(5)n1 + 2 + 3 + 4 + 515 III 8 (2013 05 28 ) 28 / 39
VBA III 8 (2013 05 28 ) 29 / 39
VBA 6-1b.xlsx 22 III 8 (2013 05 28 ) 30 / 39
VBA Longi, male, female IntegersexDoubleheight, weight i2male, female0 Do, Loop11 III 8 (2013 05 28 ) 31 / 39
VBA iexit Do isex, height, weight sex-1male1 5male6male sex1female1 8female9female i1 5689 III 8 (2013 05 28 ) 32 / 39
VBA 01 Sub Kadai() 02 Dim i As Long, male As Long, female As Long 03 Dim sex As Integer 04 Dim height As Double, weight As Double 05 i = 2 2 06 male = 0 07 female = 0 08 Do 09 If Cells(i, 1) = "" Then 10 Exit Do 11 End If 12 sex = Cells(i, 1).Value 13 height = Cells(i, 2).Value 14 weight = Cells(i, 3).Value III 8 (2013 05 28 ) 33 / 39
VBA 15 If sex = -1 Then 16 male = male + 1 17 Cells(male, 5) = height 18 Cells(male, 6) = weight 19 Else 20 female = female + 1 21 Cells(female, 8) = height 22 Cells(female, 9) = weight 23 End If 24 i = i+1 25 Loop 26 End Sub III 8 (2013 05 28 ) 34 / 39
VBA VBA 23 234 Function III 8 (2013 05 28 ) 35 / 39
R Rlm() nls() lm()y yx k x_k Y = θ 1 X 1 + θ 2 X 2 + + θ n X n + ε lm(y x_1 + x_2 +... + x_n) III 8 (2013 05 28 ) 36 / 39
R > x <- read.table("6-1a.txt") > lm(x$v2 x$v3) Call: lm(formula = x$v2 x$v3) Coefficients: (Intercept) x$v3 93.661 1.299 = a + b + ε a = 1.299, b = 93.661 III 8 (2013 05 28 ) 37 / 39
R c 2 I(cˆ2) > x <- read.table("6-1a.txt") > lm(x$v2 x$v3 + I(x$V3ˆ2) + I(x$V3ˆ3)) Call: lm(formula = x$v2 x$v3 + I(x$V3ˆ2) + I(x$V3ˆ3)) Coefficients: (Intercept) x$v3 I(x$V3ˆ2) I(x$V3ˆ3) 61.9276821 3.4162364-0.0380741 0.0001801 = a + b 2 + c 3 + d + ε III 8 (2013 05 28 ) 38 / 39
R lm()summary() plot() > x <- read.table("6-1a.txt") > res <- lm(x$v2 x$v3 + I(x$V3ˆ2) + I(x$V3ˆ3)) > summary(res) > plot(res) plot()100 6-1c.txt III 8 (2013 05 28 ) 39 / 39
0 2 X Y (x k, y k ) 0 X Y Y = 1.299X III 8 (2013 05 28 ) 40 / 39
(x k, y k )y = 1.299x (α + ε, 1.299α + δ)αεδ Z = 1 2 + 1.299 2 (X + 1.299Y ) X, Y Z, U U U = 1.299 2 + ( 1) 2 (1.299X Y ) III 8 (2013 05 28 ) 41 / 39
Z U Z z k = x k + 1.299y k x k, y k 1 122 k 1k III 8 (2013 05 28 ) 42 / 39
A 211 X 1, X 2,..., X n 1 Z 1 Z 1 = w 1 X 1 + w 2 X 2 + + w n X n, w1 2 + w2 2 +... + w2 n = 1 k k 1 III 8 (2013 05 28 ) 43 / 39
B 21Z 1 2 k k 1 2 AAB A B III 8 (2013 05 28 ) 44 / 39
B (i, j)x i X j E[(X i E[X i ])(X j E[X j ])] (i, j)x i X j X i X j (X i )(X j ) X 1 X 2 X 1 R III 8 (2013 05 28 ) 45 / 39
A λ 1 λ 2 λ n 0 λ k (w k,1, w k,2,..., w k,n ) T k Z k = w k,1 X 1 + w k,2 X 2 + + w k,n X n λ k III 8 (2013 05 28 ) 46 / 39