distance = math.sqrt( (curX - preX)**2 + (curY - preY)**2 ) # distance between an observation in current data and each points in previous one # add observation satisfying the neighborhood condition if distance < bandwidth: # 1. bandwidth condition if distance > mindist: # 2. minimum distance condition if nCount <= knn: # 3. number of maximum neighborhoods distDic[preOID] = [distance, preUnitPrice] nCount += 1 distDicsorted = collections.OrderedDict( sorted(distDic.items(), key=lambda t: t[1][0])) # print distDicsorted.values()[0][0] ## calculating Wij & Wij*UnitPricej for current year observations sumWij = 0 # initialize sigma Wij sumWijP = 0 # initialize sigma Wij*UnitP for dist, UnitP in distDicsorted.values(): wij = (1 - (dist / bandwidth)**2)**2 wijP = wij * UnitP sumWij += wij sumWijP += wijP lag = sumWijP / sumWij lagVar.append(lag) excel.excelWriteOnExistingFile3(filepath2, sheetname2, 'X', lagVar) print(lagVar)
resultEMD = excel.excelRead(filenameEMD, sheetnameEMD) emdMatList = [] for addrMat in matResult[1:]: tempEMD = '-1' addrStrip = str(addrMat[0].value).strip() for rowEMD in resultEMD: rowEMDStr = str(rowEMD[1].value) if addrStrip == rowEMDStr: tempEMD = str(int(rowEMD[0].value)) break emdMatList.append(tempEMD) excel.excelWriteOnExistingFile3(filenameMat, sheetnameMat, 'k', emdMatList) print('saved successfully in ' + filenameMat) #4-2 - Matching excel file and dictionary filenameDicRe = 'Dictionary_result.xlsx' sheetnameDicRe = 'Sheet2' resultDicRe = excel.excelRead(filenameDicRe, sheetnameDicRe) matResult2 = excel.excelRead(filenameMat, sheetnameMat) snList = [] for addrMat1 in matResult2[1:]: tempBd_SN = '-1' tempeqb_SN = '-1'
resultEMD = excel.excelRead(filenameEMD, sheetnameEMD) emdMatList = [] for addrMat in matResult[1:]: tempEMD = '-1' addrStrip = str(addrMat[0].value).strip() for rowEMD in resultEMD: rowEMDStr = str(rowEMD[1].value) if addrStrip == rowEMDStr: tempEMD = str(int(rowEMD[0].value)) break emdMatList.append(tempEMD) excel.excelWriteOnExistingFile3(filenameMat, sheetnameMat, 'k', emdMatList) print('saved successfully in '+ filenameMat) #4-2 - Matching excel file and dictionary filenameDicRe = 'Dictionary_result.xlsx' sheetnameDicRe = 'Sheet2' resultDicRe = excel.excelRead(filenameDicRe, sheetnameDicRe) matResult2 = excel.excelRead(filenameMat, sheetnameMat) snList = [] for addrMat1 in matResult2[1:]: tempBd_SN = '-1' tempeqb_SN = '-1'
preOID = int(preValue[2].value) # OBJECT ID of previous year data preUnitPrice = float(preValue[22].value) # Unit Price of previous year data distance = math.sqrt((curX - preX)**2+(curY - preY)**2) # distance between an observation in current data and each points in previous one # add observation satisfying the neighborhood condition if distance < bandwidth : # 1. bandwidth condition if distance > mindist: # 2. minimum distance condition if nCount <= knn: # 3. number of maximum neighborhoods distDic[preOID] = [distance, preUnitPrice] nCount+=1 distDicsorted = collections.OrderedDict(sorted(distDic.items(), key=lambda t:t[1][0])) # print distDicsorted.values()[0][0] ## calculating Wij & Wij*UnitPricej for current year observations sumWij = 0 # initialize sigma Wij sumWijP = 0 # initialize sigma Wij*UnitP for dist, UnitP in distDicsorted.values(): wij = (1-(dist/bandwidth)**2)**2 wijP = wij*UnitP sumWij += wij sumWijP += wijP lag = sumWijP / sumWij lagVar.append(lag) excel.excelWriteOnExistingFile3(filepath2, sheetname2, 'X', lagVar) print(lagVar)