⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 多项式回归f2.frm

📁 <VB数理统计实用算法>书中的算法源程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmCalculate 
   Appearance      =   0  'Flat
   BackColor       =   &H80000005&
   Caption         =   "多项式回归"
   ClientHeight    =   8520
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   8745
   LinkTopic       =   "Form1"
   ScaleHeight     =   8520
   ScaleWidth      =   8745
   Begin VB.TextBox txtN 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      Height          =   270
      Left            =   960
      TabIndex        =   0
      Top             =   840
      Width           =   615
   End
   Begin VB.CommandButton cmdContinue 
      Caption         =   "继  续"
      Height          =   375
      Left            =   2160
      TabIndex        =   18
      Top             =   0
      Width           =   1215
   End
   Begin VB.CommandButton cmdExit 
      Caption         =   "退  出"
      Height          =   375
      Left            =   1080
      TabIndex        =   2
      Top             =   0
      Width           =   1095
   End
   Begin VB.CommandButton cmdCalculate 
      Caption         =   "计  算"
      Height          =   375
      Left            =   0
      TabIndex        =   1
      Top             =   0
      Width           =   1095
   End
   Begin VB.Label lblN 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "键入最高幂次"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   240
      TabIndex        =   19
      Top             =   480
      Width           =   2175
   End
   Begin VB.Label lblR 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      Caption         =   "结  论"
      ForeColor       =   &H80000008&
      Height          =   255
      Index           =   0
      Left            =   7080
      TabIndex        =   17
      Top             =   3120
      Width           =   1455
   End
   Begin VB.Label lbl001 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      Caption         =   "t (0.01)"
      ForeColor       =   &H80000008&
      Height          =   255
      Index           =   0
      Left            =   5640
      TabIndex        =   16
      Top             =   3120
      Width           =   1455
   End
   Begin VB.Label lbl005 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      Caption         =   "t (0.05)"
      ForeColor       =   &H80000008&
      Height          =   255
      Index           =   0
      Left            =   4200
      TabIndex        =   15
      Top             =   3120
      Width           =   1455
   End
   Begin VB.Label lblT 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      Caption         =   "t检验值"
      ForeColor       =   &H80000008&
      Height          =   255
      Index           =   0
      Left            =   2880
      TabIndex        =   14
      Top             =   3120
      Width           =   1335
   End
   Begin VB.Label lblV 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      ForeColor       =   &H80000008&
      Height          =   255
      Index           =   0
      Left            =   1440
      TabIndex        =   13
      Top             =   3120
      Width           =   1455
   End
   Begin VB.Label lblB 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      Caption         =   "b0"
      ForeColor       =   &H80000008&
      Height          =   255
      Index           =   0
      Left            =   120
      TabIndex        =   12
      Top             =   3120
      Width           =   1335
   End
   Begin VB.Label Label9 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "回归方程系数及t检验"
      BeginProperty Font 
         Name            =   "隶书"
         Size            =   26.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   495
      Left            =   120
      TabIndex        =   11
      Top             =   2520
      Width           =   7815
   End
   Begin VB.Label lblDA 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   2400
      TabIndex        =   10
      Top             =   2040
      Width           =   5415
   End
   Begin VB.Label Label4 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "F检验结论"
      BeginProperty Font 
         Name            =   "隶书"
         Size            =   26.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   495
      Left            =   2640
      TabIndex        =   9
      Top             =   1560
      Width           =   5295
   End
   Begin VB.Label lbl001F 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   6360
      TabIndex        =   8
      Top             =   1080
      Width           =   1455
   End
   Begin VB.Label lbl005F 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   6360
      TabIndex        =   7
      Top             =   720
      Width           =   1455
   End
   Begin VB.Label lblFA 
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      BorderStyle     =   1  'Fixed Single
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   6360
      TabIndex        =   6
      Top             =   360
      Width           =   1455
   End
   Begin VB.Label Label3 
      Alignment       =   1  'Right Justify
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "显著性水平为0.01的F临界值:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   2640
      TabIndex        =   5
      Top             =   1080
      Width           =   3735
   End
   Begin VB.Label Label2 
      Alignment       =   1  'Right Justify
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "显著性水平为0.05的F临界值:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   2640
      TabIndex        =   4
      Top             =   720
      Width           =   3735
   End
   Begin VB.Label Label1 
      Alignment       =   1  'Right Justify
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "F检验值:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   375
      Left            =   2640
      TabIndex        =   3
      Top             =   360
      Width           =   3735
   End
End
Attribute VB_Name = "frmCalculate"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'多项式回归
Option Explicit
Private Sub Form_Load()
    Label1.Visible = False: Label2.Visible = False: Label3.Visible = False
    Label4.Visible = False: Label9.Visible = False
    lblFA.Visible = False: lbl005F.Visible = False: lbl001F.Visible = False
    lblB(0).Visible = False: lblV(0).Visible = False: lblT(0).Visible = False
    lbl005(0).Visible = False: lbl001(0).Visible = False: lblR(0).Visible = False
    cmdContinue.Visible = False
End Sub

'计算
Private Sub cmdCalculate_Click()
    Dim F As Double, sngF As Single, sngH As Single
    Dim F005 As Double, F001 As Double
    Dim sngF005 As Single, sngF001 As Single
    Dim t005 As Double, t001 As Double
    Dim sngt005 As Single, sngt001 As Single
    Dim UA As Integer, Ue As Integer, I As Integer, J As Integer
    Label1.Visible = True: Label2.Visible = True: Label3.Visible = True
    Label4.Visible = True: Label9.Visible = True
    lblFA.Visible = True: lbl005F.Visible = True: lbl001F.Visible = True
    lblB(0).Visible = True: lblV(0).Visible = True: lblT(0).Visible = True
    lbl005(0).Visible = True: lbl001(0).Visible = True: lblR(0).Visible = True
    If txtN.Text = "" Then
        MsgBox "必须键入最高幂次!"
        Exit Sub
    End If
    M = Val(txtN.Text)              '多项式的最高幂次
'保存回归系数数组和工作单元
    ReDim b(0 To M), a(1 To M, 1 To M)
'重新定义t检验值数组
    ReDim t(1 To M)
    ReDim xx(1 To N, 1 To M)
    For I = 1 To N
        For J = 1 To M
            xx(I, J) = x(I) ^ J
        Next J
    Next I
    Multi xx, y, a, b, F, t         '建立回归方程并求F值和t值
    sngF = F
    lblFA.Caption = Str(sngF)
    UA = M: Ue = N - M - 1
    PF_DIST UA, Ue, 0.05, F005      '计算显著性为0.05的F临界值
    PF_DIST UA, Ue, 0.01, F001      '计算显著性为0.01的F临界值
    sngF005 = F005: sngF001 = F001
    lbl005F.Caption = Str(sngF005): lbl001F.Caption = Str(sngF001)
    If F <= F005 Then lblDA = "总的来看,自变量对因变量的影响不显著"
    If F > F005 And F <= F001 Then lblDA = "总的来看,自变量对因变量的影响显著"
    If F > F001 Then lblDA = "总的来看,自变量对因变量的影响特别显著"
    PT_DIST Ue, 0.05 / 2, t005      '计算显著性为0.05的t临界值
    PT_DIST Ue, 0.01 / 2, t001      '计算显著性为0.01的t临界值
    sngt005 = t005: sngt001 = t001
    lblB(0).Caption = "b" & " 0"
    lblV(0).Caption = Str(b(0))
    sngH = lblB(0).Height
'使用标签显示检验结果
    For I = 1 To M
        Load lblB(I): Load lblV(I): Load lblT(I)
        Load lbl005(I): Load lbl001(I): Load lblR(I)
        lblB(I).Move lblB(0).Left, lblB(0).Top + I * sngH
        lblB(I).Caption = "b" & Str(I) & "( X^" & Str(I) & ")"
        lblB(I).Visible = True
        lblV(I).Move lblV(0).Left, lblV(0).Top + I * sngH
        lblV(I).Caption = Str(b(I))
        lblV(I).Visible = True
        lblT(I).Move lblT(0).Left, lblT(0).Top + I * sngH
        lblT(I).Caption = Str(t(I))
        lblT(I).Visible = True
        lbl005(I).Move lbl005(0).Left, lbl005(0).Top + I * sngH
        lbl005(I).Visible = True
        lbl001(I).Move lbl001(0).Left, lbl001(0).Top + I * sngH
        lbl001(I).Visible = True
        lblR(I).Move lblR(0).Left, lblR(0).Top + I * sngH
        lblR(I).Visible = True
        lbl005(I).Caption = sngt005
        lbl001(I).Caption = sngt001
        If t(I) <= t005 Then lblR(I) = "不显著"
        If t(I) > t005 And t(I) <= t001 Then lblR(I) = "显著"
        If t(I) > t001 Then lblR(I) = "特别显著"
    Next I
    cmdContinue.Visible = True
End Sub

'继续
Private Sub cmdContinue_Click()
    Unload Me
    frmContinue.Visible = True
End Sub

'退出
Private Sub cmdExit_Click()
    Unload Me
    frmFileName.Visible = True
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -