① 物理或化學參數改變原理的具體措施包括哪些內容
1.改變物體的物理狀態;
2.改變物體的濃度或密度;
3.改變物體的柔軟性;
4.改變溫度。
參數,也叫參變數,是一個變數。 我們在研究當前問題的時候,關心某幾個變數的變化以及它們之間的相互關系,其中有一個或一些叫自變數,另一個或另一些叫因變數。如果我們引入一個或一些另外的變數來描述自變數與因變數的變化,引入的變數本來並不是當前問題必須研究的變數,我們把這樣的變數叫做參變數或參數。
② 如何對XGBoost模型進行參數調優
譯註:文內提供的代碼和運行結果有一定差異,可以從這里下載完整代碼對照參考。另外,我自己跟著教程做的時候,發現我的庫無法解析字元串類型的特徵,所以只用其中一部分特徵做的,具體數值跟文章中不一樣,反而可以幫助理解文章。所以大家其實也可以小小修改一下代碼,不一定要完全跟著教程做~ ^0^
需要提前安裝好的庫:
簡介
如果你的預測模型表現得有些不盡如人意,那就用XGBoost吧。XGBoost演算法現在已經成為很多數據工程師的重要武器。它是一種十分精緻的演算法,可以處理各種不規則的數據。
構造一個使用XGBoost的模型十分簡單。但是,提高這個模型的表現就有些困難(至少我覺得十分糾結)。這個演算法使用了好幾個參數。所以為了提高模型的表現,參數的調整十分必要。在解決實際問題的時候,有些問題是很難回答的——你需要調整哪些參數?這些參數要調到什麼值,才能達到理想的輸出?
這篇文章最適合剛剛接觸XGBoost的人閱讀。在這篇文章中,我們會學到參數調優的技巧,以及XGboost相關的一些有用的知識。以及,我們會用Python在一個數據集上實踐一下這個演算法。
你需要知道的
XGBoost(eXtreme Gradient Boosting)是Gradient Boosting演算法的一個優化的版本。
特別鳴謝:我個人十分感謝Mr Sudalai Rajkumar (aka SRK)大神的支持,目前他在AV Rank中位列第二。如果沒有他的幫助,就沒有這篇文章。在他的幫助下,我們才能給無數的數據科學家指點迷津。給他一個大大的贊!
內容列表
1、XGBoost的優勢
2、理解XGBoost的參數
3、調整參數(含示例)
1、XGBoost的優勢
XGBoost演算法可以給預測模型帶來能力的提升。當我對它的表現有更多了解的時候,當我對它的高准確率背後的原理有更多了解的時候,我發現它具有很多優勢:
1、正則化
標准GBM的實現沒有像XGBoost這樣的正則化步驟。正則化對減少過擬合也是有幫助的。 實際上,XGBoost以「正則化提升(regularized boosting)」技術而聞名。
2、並行處理
XGBoost可以實現並行處理,相比GBM有了速度的飛躍。 不過,眾所周知,Boosting演算法是順序處理的,它怎麼可能並行呢?每一課樹的構造都依賴於前一棵樹,那具體是什麼讓我們能用多核處理器去構造一個樹呢?我希望你理解了這句話的意思。XGBoost 也支持Hadoop實現。
3、高度的靈活性
XGBoost 允許用戶定義自定義優化目標和評價標准它對模型增加了一個全新的維度,所以我們的處理不會受到任何限制。
4、缺失值處理
XGBoost內置處理缺失值的規則。 用戶需要提供一個和其它樣本不同的值,然後把它作為一個參數傳進去,以此來作為缺失值的取值。XGBoost在不同節點遇到缺失值時採用不同的處理方法,並且會學習未來遇到缺失值時的處理方法。
5、剪枝
當分裂時遇到一個負損失時,GBM會停止分裂。因此GBM實際上是一個貪心演算法。 XGBoost會一直分裂到指定的最大深度(max_depth),然後回過頭來剪枝。如果某個節點之後不再有正值,它會去除這個分裂。 這種做法的優點,當一個負損失(如-2)後面有個正損失(如+10)的時候,就顯現出來了。GBM會在-2處停下來,因為它遇到了一個負值。但是XGBoost會繼續分裂,然後發現這兩個分裂綜合起來會得到+8,因此會保留這兩個分裂。
6、內置交叉驗證
XGBoost允許在每一輪boosting迭代中使用交叉驗證。因此,可以方便地獲得最優boosting迭代次數。 而GBM使用網格搜索,只能檢測有限個值。
7、在已有的模型基礎上繼續
XGBoost可以在上一輪的結果上繼續訓練。這個特性在某些特定的應用上是一個巨大的優勢。 sklearn中的GBM的實現也有這個功能,兩種演算法在這一點上是一致的。
相信你已經對XGBoost強大的功能有了點概念。注意這是我自己總結出來的幾點,你如果有更多的想法,盡管在下面評論指出,我會更新這個列表的!
2、XGBoost的參數
XGBoost的作者把所有的參數分成了三類:
1、通用參數:宏觀函數控制。
2、Booster參數:控制每一步的booster(tree/regression)。
3、學習目標參數:控制訓練目標的表現。
在這里我會類比GBM來講解,所以作為一種基礎知識。
通用參數
這些參數用來控制XGBoost的宏觀功能。
1、booster[默認gbtree]
選擇每次迭代的模型,有兩種選擇:
gbtree:基於樹的模型
gbliner:線性模型
2、silent[默認0]
當這個參數值為1時,靜默模式開啟,不會輸出任何信息。 一般這個參數就保持默認的0,因為這樣能幫我們更好地理解模型。
3、nthread[默認值為最大可能的線程數]
這個參數用來進行多線程式控制制,應當輸入系統的核數。 如果你希望使用CPU全部的核,那就不要輸入這個參數,演算法會自動檢測它。
還有兩個參數,XGBoost會自動設置,目前你不用管它。接下來咱們一起看booster參數。
booster參數
盡管有兩種booster可供選擇,我這里只介紹tree booster,因為它的表現遠遠勝過linear booster,所以linear booster很少用到。
1、eta[默認0.3]
和GBM中的 learning rate 參數類似。 通過減少每一步的權重,可以提高模型的魯棒性。 典型值為0.01-0.2。
2、min_child_weight[默認1]
決定最小葉子節點樣本權重和。 和GBM的 min_child_leaf 參數類似,但不完全一樣。XGBoost的這個參數是最小樣本權重的和,而GBM參數是最小樣本總數。 這個參數用於避免過擬合。當它的值較大時,可以避免模型學習到局部的特殊樣本。 但是如果這個值過高,會導致欠擬合。這個參數需要使用CV來調整。
3、max_depth[默認6]
和GBM中的參數相同,這個值為樹的最大深度。 這個值也是用來避免過擬合的。max_depth越大,模型會學到更具體更局部的樣本。 需要使用CV函數來進行調優。 典型值:3-10
4、max_leaf_nodes
樹上最大的節點或葉子的數量。 可以替代max_depth的作用。因為如果生成的是二叉樹,一個深度為n的樹最多生成
n2
個葉子。 如果定義了這個參數,GBM會忽略max_depth參數。
5、gamma[默認0]
在節點分裂時,只有分裂後損失函數的值下降了,才會分裂這個節點。Gamma指定了節點分裂所需的最小損失函數下降值。 這個參數的值越大,演算法越保守。這個參數的值和損失函數息息相關,所以是需要調整的。
6、max_delta_step[默認0]
這參數限制每棵樹權重改變的最大步長。如果這個參數的值為0,那就意味著沒有約束。如果它被賦予了某個正值,那麼它會讓這個演算法更加保守。 通常,這個參數不需要設置。但是當各類別的樣本十分不平衡時,它對邏輯回歸是很有幫助的。 這個參數一般用不到,但是你可以挖掘出來它更多的用處。
7、subsample[默認1]
和GBM中的subsample參數一模一樣。這個參數控制對於每棵樹,隨機采樣的比例。 減小這個參數的值,演算法會更加保守,避免過擬合。但是,如果這個值設置得過小,它可能會導致欠擬合。 典型值:0.5-1
8、colsample_bytree[默認1]
和GBM裡面的max_features參數類似。用來控制每棵隨機采樣的列數的佔比(每一列是一個特徵)。 典型值:0.5-1
9、colsample_bylevel[默認1]
用來控制樹的每一級的每一次分裂,對列數的采樣的佔比。 我個人一般不太用這個參數,因為subsample參數和colsample_bytree參數可以起到相同的作用。但是如果感興趣,可以挖掘這個參數更多的用處。
10、lambda[默認1]
權重的L2正則化項。(和Ridge regression類似)。 這個參數是用來控制XGBoost的正則化部分的。雖然大部分數據科學家很少用到這個參數,但是這個參數在減少過擬合上還是可以挖掘出更多用處的。
11、alpha[默認1]
權重的L1正則化項。(和Lasso regression類似)。 可以應用在很高維度的情況下,使得演算法的速度更快。
12、scale_pos_weight[默認1]
在各類別樣本十分不平衡時,把這個參數設定為一個正值,可以使演算法更快收斂。
學習目標參數
這個參數用來控制理想的優化目標和每一步結果的度量方法。
1、objective[默認reg:linear]
這個參數定義需要被最小化的損失函數。最常用的值有:
binary:logistic 二分類的邏輯回歸,返回預測的概率(不是類別)。 multi:softmax 使用softmax的多分類器,返回預測的類別(不是概率)。
在這種情況下,你還需要多設一個參數:num_class(類別數目)。 multi:softprob 和multi:softmax參數一樣,但是返回的是每個數據屬於各個類別的概率。
2、eval_metric[默認值取決於objective參數的取值]
對於有效數據的度量方法。 對於回歸問題,默認值是rmse,對於分類問題,默認值是error。 典型值有:
rmse 均方根誤差(
∑Ni=1?2N??????√
) mae 平均絕對誤差(
∑Ni=1|?|N
) logloss 負對數似然函數值 error 二分類錯誤率(閾值為0.5) merror 多分類錯誤率 mlogloss 多分類logloss損失函數 auc 曲線下面積
3、seed(默認0)
隨機數的種子 設置它可以復現隨機數據的結果,也可以用於調整參數
如果你之前用的是Scikit-learn,你可能不太熟悉這些參數。但是有個好消息,python的XGBoost模塊有一個sklearn包,XGBClassifier。這個包中的參數是按sklearn風格命名的。會改變的函數名是:
1、eta ->learning_rate
2、lambda->reg_lambda
3、alpha->reg_alpha
你肯定在疑惑為啥咱們沒有介紹和GBM中的』n_estimators』類似的參數。XGBClassifier中確實有一個類似的參數,但是,是在標准XGBoost實現中調用擬合函數時,把它作為』num_boosting_rounds』參數傳入。
調整參數(含示例)
我已經對這些數據進行了一些處理:
City變數,因為類別太多,所以刪掉了一些類別。 DOB變數換算成年齡,並刪除了一些數據。 增加了 EMI_Loan_Submitted_Missing 變數。如果EMI_Loan_Submitted變數的數據缺失,則這個參數的值為1。否則為0。刪除了原先的EMI_Loan_Submitted變數。 EmployerName變數,因為類別太多,所以刪掉了一些類別。 因為Existing_EMI變數只有111個值缺失,所以缺失值補充為中位數0。 增加了 Interest_Rate_Missing 變數。如果Interest_Rate變數的數據缺失,則這個參數的值為1。否則為0。刪除了原先的Interest_Rate變數。 刪除了Lead_Creation_Date,從直覺上這個特徵就對最終結果沒什麼幫助。 Loan_Amount_Applied, Loan_Tenure_Applied 兩個變數的缺項用中位數補足。 增加了 Loan_Amount_Submitted_Missing 變數。如果Loan_Amount_Submitted變數的數據缺失,則這個參數的值為1。否則為0。刪除了原先的Loan_Amount_Submitted變數。 增加了 Loan_Tenure_Submitted_Missing 變數。如果 Loan_Tenure_Submitted 變數的數據缺失,則這個參數的值為1。否則為0。刪除了原先的 Loan_Tenure_Submitted 變數。 刪除了LoggedIn, Salary_Account 兩個變數 增加了 Processing_Fee_Missing 變數。如果 Processing_Fee 變數的數據缺失,則這個參數的值為1。否則為0。刪除了原先的 Processing_Fee 變數。 Source前兩位不變,其它分成不同的類別。 進行了量化和獨熱編碼(一位有效編碼)。
如果你有原始數據,可以從資源庫裡面下載data_preparation的Ipython notebook 文件,然後自己過一遍這些步驟。
首先,import必要的庫,然後載入數據。
#Import libraries:
import pandas as pd
import numpy as np
import xgboost as xgb
from xgboost.sklearn import XGBClassifier
from sklearn import cross_validation, metrics #Additional scklearn functions
from sklearn.grid_search import GridSearchCV #Perforing grid search
import matplotlib.pylab as plt
%matplotlib inline
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 12, 4
train = pd.read_csv('train_modified.csv')
target = 'Disbursed'
IDcol = 'ID'
注意我import了兩種XGBoost:
xgb - 直接引用xgboost。接下來會用到其中的「cv」函數。 XGBClassifier - 是xgboost的sklearn包。這個包允許我們像GBM一樣使用Grid Search 和並行處理。
在向下進行之前,我們先定義一個函數,它可以幫助我們建立XGBoost models 並進行交叉驗證。好消息是你可以直接用下面的函數,以後再自己的models中也可以使用它。
def modelfit(alg, dtrain, predictors,useTrainCV=True, cv_folds=5, early_stopping_rounds=50):
if useTrainCV:
xgb_param = alg.get_xgb_params()
xgtrain = xgb.DMatrix(dtrain[predictors].values, label=dtrain[target].values)
cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], nfold=cv_folds,
metrics='auc', early_stopping_rounds=early_stopping_rounds, show_progress=False)
alg.set_params(n_estimators=cvresult.shape[0])
#Fit the algorithm on the data
alg.fit(dtrain[predictors], dtrain['Disbursed'],eval_metric='auc')
#Predict training set:
dtrain_predictions = alg.predict(dtrain[predictors])
dtrain_predprob = alg.predict_proba(dtrain[predictors])[:,1]
#Print model report:
print "
Model Report"
print "Accuracy : %.4g" % metrics.accuracy_score(dtrain['Disbursed'].values, dtrain_predictions)
print "AUC Score (Train): %f" % metrics.roc_auc_score(dtrain['Disbursed'], dtrain_predprob)
feat_imp = pd.Series(alg.booster().get_fscore()).sort_values(ascending=False)
feat_imp.plot(kind='bar', title='Feature Importances')
plt.ylabel('Feature Importance Score')
這個函數和GBM中使用的有些許不同。不過本文章的重點是講解重要的概念,而不是寫代碼。如果哪裡有不理解的地方,請在下面評論,不要有壓力。注意xgboost的sklearn包沒有「feature_importance」這個量度,但是get_fscore()函數有相同的功能。
參數調優的一般方法。
我們會使用和GBM中相似的方法。需要進行如下步驟:
1. 選擇較高的學習速率(learning rate)。一般情況下,學習速率的值為0.1。但是,對於不同的問題,理想的學習速率有時候會在0.05到0.3之間波動。選擇對應於此學習速率的理想決策樹數量。XGBoost有一個很有用的函數「cv」,這個函數可以在每一次迭代中使用交叉驗證,並返回理想的決策樹數量。
2. 對於給定的學習速率和決策樹數量,進行決策樹特定參數調優(max_depth, min_child_weight, gamma, subsample, colsample_bytree)。在確定一棵樹的過程中,我們可以選擇不同的參數,待會兒我會舉例說明。
3. xgboost的正則化參數的調優。(lambda, alpha)。這些參數可以降低模型的復雜度,從而提高模型的表現。
4. 降低學習速率,確定理想參數。
咱們一起詳細地一步步進行這些操作。
第一步:確定學習速率和tree_based 參數調優的估計器數目。
為了確定boosting 參數,我們要先給其它參數一個初始值。咱們先按如下方法取值:
1、max_depth = 5 :這個參數的取值最好在3-10之間。我選的起始值為5,但是你也可以選擇其它的值。起始值在4-6之間都是不錯的選擇。
2、min_child_weight = 1:在這里選了一個比較小的值,因為這是一個極不平衡的分類問題。因此,某些葉子節點下的值會比較小。
3、gamma = 0: 起始值也可以選其它比較小的值,在0.1到0.2之間就可以。這個參數後繼也是要調整的。
4、subsample,colsample_bytree = 0.8: 這個是最常見的初始值了。典型值的范圍在0.5-0.9之間。
5、scale_pos_weight = 1: 這個值是因為類別十分不平衡。
注意哦,上面這些參數的值只是一個初始的估計值,後繼需要調優。這里把學習速率就設成默認的0.1。然後用xgboost中的cv函數來確定最佳的決策樹數量。前文中的函數可以完成這個工作。
#Choose all predictors except target & IDcols
predictors = [x for x in train.columns if x not in [target,IDcol]]
xgb1 = XGBClassifier(
learning_rate =0.1,
n_estimators=1000,
max_depth=5,
min_child_weight=1,
gamma=0,
subsample=0.8,
colsample_bytree=0.8,
objective= 'binary:logistic',
nthread=4,
scale_pos_weight=1,
seed=27)
modelfit(xgb1, train, predictors)
從輸出結果可以看出,在學習速率為0.1時,理想的決策樹數目是140。這個數字對你而言可能比較高,當然這也取決於你的系統的性能。
注意:在AUC(test)這里你可以看到測試集的AUC值。但是如果你在自己的系統上運行這些命令,並不會出現這個值。因為數據並不公開。這里提供的值僅供參考。生成這個值的代碼部分已經被刪掉了。<喎�"/kf/ware/vc/" target="_blank" class="keylink">="第二步-maxdepth-和-minweight-參數調優">第二步: max_depth 和 min_weight 參數調優
我們先對這兩個參數調優,是因為它們對最終結果有很大的影響。首先,我們先大范圍地粗調參數,然後再小范圍地微調。
注意:在這一節我會進行高負荷的柵格搜索(grid search),這個過程大約需要15-30分鍾甚至更久,具體取決於你系統的性能。你也可以根據自己系統的性能選擇不同的值。
param_test1 = {
'max_depth':range(3,10,2),
'min_child_weight':range(1,6,2)
}
gsearch1 = GridSearchCV(estimator = XGBClassifier( learning_rate =0.1, n_estimators=140, max_depth=5,
min_child_weight=1, gamma=0, subsample=0.8, colsample_bytree=0.8,
objective= 'binary:logistic', nthread=4, scale_pos_weight=1, seed=27),
param_grid = param_test1, scoring='roc_auc',n_jobs=4,iid=False, cv=5)
gsearch1.fit(train[predictors],train[target])
gsearch1.grid_scores_, gsearch1.best_params_, gsearch1.best_score_
③ VR里的物理相機參數是怎麼調的
VR的攝像機最重要的有三個參數是光圈,快門,和ISO感光。
光圈光圈參數越大的時候場景就越亮,甚至會有曝光過度的可能的, 反之場景就會越暗.所以是可以利用VR物理相機來提高場景的亮度。
快門參數越低暴光的時間就越長,越亮,,數越高暴光時間越短,也越暗,不過你的場景如果相當大的話,你就必須把光圈的值降低才行的。
膠片速度參數越大,場景就越亮,反之越暗。白天100-200,晚上300-400。
(3)物理模型如何進行參數調整擴展閱讀:
相機的基本原理是很簡單的,就是在一個封閉的區域內有一個小孔,光線通過小孔照射到內部的感光材料(膠片)中就可以形成圖像。
圖像的效果和孔(後面所說的孔徑就指的這個孔)的大小與孔所通過的光的多少有關,孔越大光線就越多,在感光材料(膠片)上所得到的潛影也就越暗,最終形成的圖像就越亮。
當然,圖像的亮度也與感光材料(膠片)接收光的時間長短有關,接收光線的時間越長,在感光材料(膠片)上所得到的潛影也就越暗,最終形成的圖像也越亮。
參考資料來源:網路——VR攝影
④ 物理模型數學模型概念模型區別
一、特徵上的區別:
1、物理模型
以實物或畫圖形式直觀的表達認識對象的特徵
在數據倉庫項目中,物理模型設計和業務模型設計象兩個輪子一樣有力地支撐著數據倉庫的實施,兩者並行不悖,缺一不可。
實際上,這有意地擴大了物理模型和業務模型的內涵和外延,因為,在這里物理模型不僅僅是數據的存儲,而且也包含了數據倉庫項目實施的方法論、資源以及軟硬體選型,而業務模型不僅僅是主題模型的確立,也包含了企業的發展戰略,行業模本等等更多的內容。
物理模型就像大廈的基礎架構,就是通用的業界標准,無論是一座摩天大廈也好,還是茅草房也好,在架構師的眼裡,他只是一所建築,地基—層層建築—封頂,這樣的工序一樣也不能少,關繫到住戶的安全,房屋的建築質量也必須得以保證,唯一的區別是建築的材料,地基是採用鋼筋水泥還是石頭,牆壁採用木質還是鋼筋水泥或是磚頭;
當然材料和建築細節還是會有區別的,視用戶給出的成本而定;還有不可忽視的一點是,數據倉庫的數據從幾百GB到幾十TB不等,面對如此大的數據管理,無論支撐這些數據的RDBMS(關系資料庫)多麼強大,仍不可避免地要考慮資料庫的物理設計。
2、概念模型
概念數據模型是面向用戶、面向現實世界的數據模型,是與DBMS無關的。它主要用來描述一個單位的概念化結構。採用概念數據模型,資料庫設計人員可以在設計的開始階段,把主要精力用於了解和描述現實世界上,而把涉及DBMS的一些技術性的問題推遲到設計階段去考慮。
3、數學模型
(1)評價問題抽象化和模擬化;
(2)各參數是由與評價對象有關的因素構成的。
(3)要表明各有關因素之間的關系。
二、分類上的區別:
1、物理模型
中學物理模型一般可分三類:物質模型、狀態模型、過程模型。
(1)物質模型
物質可分為實體物質和場物質。
實體物質模型有力學中的質點、輕質彈簧、彈性小球等;電磁學中的點電荷、平行板電容器、密繞螺線管等;氣體性質中的理想氣體;光學中的薄透鏡、均勻介質等。
場物質模型有如勻強電場、勻強磁場等都是空間場物質的模型。
(2)狀態模型
研究流體力學時,流體的穩恆流動(狀態);研究理想氣體時,氣體的平衡態;研究原子物理時,原子所處的基態和激發態等都屬於狀態模型。
(3)過程模型
在研究質點運動時,如勻速直線運動、勻變速直線運動、勻速圓周運動、平拋運動、簡諧運動等;在研究理想氣體狀態變化時,如等溫變化、等壓變化、等容變化、絕熱變化等;還有一些物理量的均勻變化的過程,如某勻強磁場的磁感應強度均勻減小、均勻增加等;非均勻變化的過程,如汽車突然停止都屬於理想的過程模型。
模型是對實際問題的抽象,每一個模型的建立都有一定的條件和使用范圍。學生在學習和應用模型解決問題時,要弄清模型的使用條件,要根據實際情況加以運用。
比如一列火車的運行,能否看成質點,就要根據質點的概念和要研究的火車運動情況而定,在研究火車過橋所需時間時,火車的長度相對於橋長來說,一般不能忽略,所以不能看成質點;在研究火車從北京到上海所需的時間時,火車的長度遠遠小於北京到上海的距離,可忽略不記,因此火車就可以看成為質點。
2、概念模型
原理上來說,並沒有具體的分類。
3、數學模型
(1)精確型:內涵和外延非常分明,可以用精確數學表達。
(2)模糊型:內涵和外延不是很清晰,要用模糊數學來描述。
(4)物理模型如何進行參數調整擴展閱讀:
建立數學模型的要求
1、真實完整。
(1)真實的、系統的、完整的反映客觀現象;
(2)必須具有代表性;
(3)具有外推性,即能得到原型客體的信息,在模型的研究實驗時,能得到關於原型客體的原因。
(4)必須反映完成基本任務所達到的各種業績,而且要與實際情況相符合。
2、簡明實用。在建模過程中,要把本質的東西及其關系反映進去,把非本質的、對反映客觀真實程度影響不大的東西去掉,使模型在保證一定精確度的條件下,盡可能的簡單和可操作,數據易於採集。
3、適應變化。隨著有關條件的變化和人們認識的發展,通過相關變數及參數的調整,能很好的適應新情況。
⑤ 時移地震差異約束的模型調整
8.3.7.1 差異數據的網格轉換
由於地震數據的網格、層位劃分和數模模型的網格、層位劃分 不完全一致,因此,在用時移地震差異約束油藏數值模擬前,首先 要對時移地震差異數據體進行層位、網格的轉換。
轉換流程見圖8.68。Ⅰ油組和Ⅰ油組4小層的差異數據轉換過 程及轉換結果見圖8.69和圖8.70。
圖8.68 差異數據網格轉換流程圖
圖8.69 Ⅰ油組差異數據時深、網格轉換
圖8.70 Ⅰ油組4小層差異數據的時深、網格轉換
Ⅰ油組4小層由於層位和地震數據品質的關系,只有圖8.70轉換後差異圖范圍內的部分是4小層差異,所以轉換後的數據只顯示這一部分。
8.3.7.2 差異約束的模型調整
S模型網格節點60多萬,生產時間長,從1993年 9月投產到2004年10月,共110個時間步長,模型中 共有3條相對滲透率曲線對油藏流體的流動進行刻度,對於如此龐大的模型,模擬運算時間長、為實現擬合時 移地震差異數據而要做的修改工作量巨大、反復模擬運 行的次數多,短時間很難實現時移地震差異數據的精確 擬合,需要做大量的工作。
圖8.71為時移地震差異約束油藏數值模擬的流程 圖。
在上述流程的指導下,模型修改主要為油藏參數修 改、岩石物理模型參數的修改、相對滲透率曲線、PVT 數據及其應用區域修改。
油藏參數的修改主要依據建模的成果,修改模型研 究區的有效厚度、滲透率、孔隙度參數。
圖8.71 時移地震差異約束油藏數值模擬流程圖
(1)孔隙度參數修改
在三維儲層建模中,目前大多應用地質統計學隨機 建模和相控參數建模的方法以及先進的儲層建模理論和技術(如指示Kriging、序貫高斯模擬等),建立 工區三維地質模型。由於滲透率參數模型是由滲透率與孔隙度的孔滲關系得到的,因此在進行滲透率調 整的同時,孔隙度參數也要進行相應的調整。
同時,孔隙度參數也是影響油藏開發動態的重要因素。S油田是受構造因素控制、岩性變化影響的層 狀碎屑岩油藏,根據岩石薄片、鑄體薄片和掃描電鏡等鏡下觀察結果,儲層儲集空間主要為原生粒間孔 和溶蝕孔,由於有溶蝕孔隙的存在,使油藏中孔隙度的突變情況和突變程度都有所增加(圖8.72)。
圖8.72a 原模型1小層孔隙度參數
圖8.72b 建模對應層模型孔隙度參數
(2)有效厚度參數修改
由於大部分的砂體尖滅線都是靠井間插值得到的,在某種程度上存在一定的誤差,而砂體界面的位 置將直接影響油井的見水時間和產水量。因此,在模型調整中適當修改某些砂體尖滅線的位置(圖8.73)。
圖8.73a 原模型3小層有效厚度參數
圖8.73b 建模對應層模型有效厚度參數
(3)相對滲透率曲線適用范圍的調整
相對滲透率曲線控制著孔隙中油水的相對滲流運動,因此對單井產水率的影響極大,且控制全油藏 或油藏中大部分區域的相對滲透率曲線僅僅是由井中岩心在實驗室中求得的,由於以點代面及滲流條件 的不同等原因造成在模型中控制油水運動的相對滲透率曲線與油藏實際存在較大誤差,因此,對相對滲 透率曲線的調整空間是比較大的,調整結果也是比較好的。
S油藏模型中共有3條相對滲透率曲線對油藏中流體的滲流動態進行刻度,這3條曲線涵蓋的范圍比 較大,因此,在模型修改中沒有對曲線本身進行修正,僅僅是對每條曲線的適用范圍進行了適當的修改(圖 8.74)。
圖8.74 相滲區域數據修正
(4)岩石物理模型參數的調整
S油田屬於疏鬆砂岩油藏,對油藏岩石物理參數進行了深入的研究,這里借鑒了岩石物理研究方面的 成果,並在後期時移地震數據約束油藏歷史擬合的過程中進行了必要的調整,如圖8.75所示。
圖8.75a 初始正演用岩石物理參數
圖8.75b 時移地震差異約束歷史擬合後正演用岩石物理參數
(5)PVT屬性數據的調整
模型中有15個油水系統,6組PVT表格數據,這里主要調整了控制Ⅰ油組研究區的兩組PVT數據,如表8.9所示。
表8.9a 初始模型PVT數據表
表8.9b 時移地震差異約束歷史擬合後模型PVT數據表
8.3.7.3 擬合結果
通過對以上參數的調整和模擬運算,時移地震差異數據和動態數據都得到了一定的擬合。
由於模擬區是分平台投產的,不同平台的投產時間前後相差9年,在模擬運算中計算出來的是全油 藏壓力,實際測得的僅為某個平台的局部壓力,因此目前沒有對壓力進行擬合。
(1)儲量擬合結果
利用調整後油藏模型計算全區原始石油地質儲量為30294×104t,與實際上報儲量28844×104t相比,儲量擬合的誤差為5.02%,符合儲量擬合誤差要求。
儲量增加主要是因為由初始模型計算的油藏見水後含水迅速上升,與油藏開發實際相差較大,為實 現擬合,適當提高了含水擬合誤差較大井點的孔隙度造成的。
(2)含水率擬合結果
可供擬合的主要參數是單井或油田的月度產液量、含水率、累積產液量或綜合含水率等,鑒於在定 產的情況下,油藏的動態擬合採用慣用的含水率作目標參數。
利用修改後的油藏模型進行了全區的含水率擬合,與模型修改前相比,計算含水率與實際含水率的 絕對誤差明顯減小,除了含水率變化無明顯規律的少數幾口井外,試驗區其他50多口井基本符合實際 變化;由時移地震差異約束歷史擬合後的最終模型計算得到的全區擬合含水率見圖8.76。
圖8.76a S油田初始模型含水率擬合曲線
圖8.76b S油田差異約束後模型含水率擬合曲線
單井含水率擬合曲線見圖8.77,試驗區其他井擬合曲線參見附錄四。
圖8.77a A16井擬合曲線
圖8.77b A24井擬合曲線
圖8.77c B04井擬合曲線
圖8.77d J13井擬合曲線
圖8.77e J15井擬合曲線
含水率擬合誤差空間分布見圖8.78。
圖8.78a 地震差異約束前空間擬合誤差圖
圖8.78b 地震差異約束後空間擬合誤差圖
(3)地震數據匹配結果
此過程中,主要是有效厚度、孔隙度、滲透率、岩石物理模型參數、相對滲透率曲線、PVT數據及 其應用區域等數據的修改,這些參數的變化會影響Kd、流體分布的變化會影響Kf的空間分布,進而影響 vP,最終實現模型合成時移地震差異對實測時移地震差異的匹配。
同時需要指出的是,由於計算過程非常復雜,在擾動過程中不能每次都進行地震屬性的檢驗,而是 在此過程若干次循環中用到了時移地震目標函數的檢驗。
由於時間關系,在本次時移地震差異約束歷史擬合的過程中,只用Ⅰ油組和Ⅰ油組4小層的差異做 約束進行歷史擬合,中間模型的時移地震差異擬合情況見圖8.79和圖8.80,最終的地震差異擬合情況參 見圖8.81和圖8.82。
圖8.79 中間模型差異擬合結果對比
圖8.80 中間模型差異擬合結果對比
圖8.81 優化後模型差異擬合結果對比
圖8.82 優化後模型差異擬合結果對比
8.3.7.4 差異約束後的油藏動態
實測時移地震差異約束歷史擬合後,模型Ⅰ油組和4小層的壓力、含水飽和度、含氣飽和度的變化 與初始模型都有了一定的變化,由於目前的優化模型是在動態和時移地震差異雙重約束下進行歷史擬合 的,所以認為目前得到的油藏動態的變化是能夠比較客觀的反映油藏實際的動態的。
差異約束數值模擬後Ⅰ油組壓力、含水飽和度、含氣飽和度到2004年6月的變化見圖8.83,2004年 6月的含油飽和度分布見圖8.84。
Ⅰ油組4小層壓力、含水飽和度、含氣飽和度到2004年6月的變化見圖8.85,2004年6月的含油飽 和度分布見圖8.86。
其他小層2004年6月的含油飽和度分布見附錄二。
圖8.83a Ⅰ油組含氣飽和度的變化
圖8.83b Ⅰ油組壓力的變化
圖8.83c Ⅰ油組含水飽和度的變化
圖8.84 Ⅰ油組含油飽和度分布
圖8.85a Ⅰ油組4小層含氣飽和度的 變化
圖8.85b Ⅰ油組4小層壓力的變化
圖8.85c Ⅰ油組4小層含水飽和度的 變化
圖8.86 Ⅰ油組4小層含油飽和度的分布(2004.6)
⑥ 如何利用實測數據進行模型參數的校正
參數率定的實質就是先假定一組參數,代入模型得到計算結果,然後把計算結果與實測數據進行比較,若計算值與實測值相差不大,則把此時的參數作為模型的參數;若計算值與實測值相差較大,則調整參數代入模型重新計算,再進行比較,直到計算值與實測值的誤差滿足一定的范圍.
率定:在儀器行業,對儀器的校準測定稱為率定。即校準、標定。一般來說,這個詞只會用在儀器行業里,其他行業用得極少。
⑦ 如何修改已經做好的3Dmax 模型(或者模型是導入到新的文件里,怎樣去調整它的參數,比如長寬高)
這得分兩種情況:塌成過的和沒塌過的模型。如果是沒塌過的,很簡單,直接修改參數就是了。
如果塌過的,麻煩點,就得手動進入點,面編輯層去手動拉,如果要尺寸精確點,可以新建個物理作為參照物。
順便說下,一般模型導入還會出現貼圖丟失的情況,如果你有原始的貼圖文件還好,直接改下貼圖路徑,如果沒有就只能自己重貼了。
對了,有些模型編成組了,你解開組的時候很可能會出現錯位,所以最好是打開組,編輯完再關閉組,就不會錯位,但切記不要移動組內元素的位置。
⑧ 資料庫物理模型
資料庫物理模型設計的目標是根據選定的Oracle資料庫系統特點和航空物探數據管理與服務的業務處理需求,確定航空物探資料庫最優的物理環境、存取方法和存儲結構。即通過資料庫物理設計,以便達到物理資料庫結構的優化,使得在資料庫上運行的各種事務響應時間少、存儲空間利用率高、事務吞吐率大。
一、資料庫布局
航空物探信息系統的維護數據(部門、崗位、人員、人員許可權、數據入庫檢查規則及數據字典等)相對比較穩定。入庫前數據需經過各種檢查校對,確認數據正確後才能歸檔,存入航空物探資料資料庫,所以存入資料庫前的數據可能經常需要修改和刪除,相對變化較大;而存入資料資料庫中的數據一般不允許修改和刪除,以免誤操作破壞資料庫數據造成損失。
圖2-12 航空物探資料庫邏輯模型
圖2-13 航空物探資料庫布局與數據採集流程圖
據此,我們採用圖2-13所示的資料庫數據採集流程,並將航空物探資料庫分為資料採集資料庫、資料資料庫、系統維護資料庫分別進行存儲和管理,實現數據的統一管理和統一使用,便於數據入庫和易於維護等。
航空物探資料資料庫是航空物探所有數據最終存儲的場所。資料採集資料庫是數據歸檔存入資料資料庫前的臨時「集散地」,在此接收各項檢查,在確認數據無誤後歸檔到資料資料庫,然後刪除資料採集資料庫中已歸檔的數據。此外,資料採集資料庫中還保存數據入庫、維護、檢查日誌及歸檔記錄。
系統維護資料庫,存儲系統維護信息(如系統功能、資料庫表清單等)、安全信息(如信息系統用戶的角色、許可權、授權的系統功能等),數據字典、入庫數據檢查規則等。將其與航空物探數據分開,有利於系統維護和管理。
二、資料庫空間設置
資料庫空間設置包括磁碟空間設置、應用系統表空間設置、撤銷表空間、臨時表空間、日誌空間和索引空間設置。
(一)磁碟空間設置
磁碟空間設置的目標:磁碟性能不能阻礙實現資料庫性能,資料庫磁碟必須專用於資料庫文件,否則非資料庫將會影響到資料庫性能,且磁碟空間必須滿足恢復和性能的要求。
航空物探資料庫伺服器為IBM P620小型機,8塊硬碟,每塊硬碟36GB空間,每塊物理磁碟建立一個文件系統。為了提高磁碟的反應時間和尋道時間,提高I/O的存取效率,除了一塊硬碟用於UNIX操作系統外,其餘7塊磁碟分別存放資料採集資料庫、系統維護資料庫-日誌文件,資料資料庫及資料資料庫的大欄位數據、索引、回滾段和數據日誌文件。
(二)應用系統表空間設置
信息系統數據採集過程對數據的事務操作比較頻繁,經常進行數據插入(新數據入庫)、修改(入庫數據有誤)和刪除操作(數據重新導入或歸檔入庫),因此航空物探資料採集資料庫所在的表空間會很活躍。為了不影響其他I/O的競爭,同時也可以提高數據入庫的操作效率(50多年的歷史數據需要集中入庫),分配一個磁碟空間(36GB)為採集庫的表空間。由於採集數據歸檔入資料庫後被刪除,同時進行數據入庫的項目也不是很多,雖仍保留所有的採集日誌數據,一個磁碟空間也足夠使用。
航空物探資料資料庫的二維表和Oracle大欄位(BLOB)分別存放在不同的物理磁碟(每個磁碟36GB)上,對同時存在有表格數據和大欄位數據的資料庫表(如航跡線數據)時,可以提高磁碟I/O效率。隨著數據入庫的項目越來越多,需要增加相應的物理磁碟或磁碟陣列。
系統維護資料庫相對穩定,佔用磁碟空間約500 M左右。由於系統磁碟有限,把日誌文件存放該磁碟中。
(三)撤銷表和臨時表空間的設置
在Oracle資料庫中,撤銷的目的是確保事務的回退和恢復。撤銷參數有UNDO_MANAGEMENT、UNDO_TABLESPACE和UNDO_RETENTION。
UNDO_MANAGEMENT參數用於資料庫中管理撤銷數據的方式,航空物探資料庫設置為自動模式(auto)。
UNDO_TABLESPACE參數用於指定資料庫中保存撤銷數據的撤銷表空間名稱,航空物探資料庫撤銷表空間名稱為UNDO_ARGS_TBSPACE,空間大小設置為20GB,以確保在保留時間內進行恢復。
UNDO_RETENTION參數用於指定已經提交事務的撤銷數據在能夠覆蓋之前應該保留多長時間,本資料庫系統設置為60 min。
臨時表空間是用以存儲大量的排序,與撤銷表空間存放在一個物理磁碟上,本資料庫系統臨時表空間設置為500 M。
(四)日誌空間設置
日誌的主要功能是記錄對資料庫已做過的全部操作。在系統出現故障時,如果不能將修改數據永久地寫入數據文件,則可利用日誌得到該修改,所以不會丟失已有操作結果。
日誌文件主要是保護資料庫以防止故障。為了防止日誌文件本身的故障,航空物探資料庫系統分別在一個獨立磁碟和系統維護庫磁碟中存放日誌文件。若系統出現故障,在下次打開資料庫時Oracle資料庫系統自動用日誌文件中的信息來恢復資料庫文件。
根據航空物探資料庫信息系統同時登錄的用戶數及使用的功能,將日誌文件大小設置為10GB。
(五)索引表空間設置
為了提高航空物探信息系統的查詢和統計速度,把所有索引空間與應用表空間完全分開,從而提高I/O存取效率。航空物探索引表空間大小設置為10GB。
聚集是表的一種存儲方法,一般每個基本表是單獨組織的,但對邏輯上經常在一起查詢的表,在物理上也鄰近存放,這樣可減少數據的搜索時間,提高性能。
當幾個關系(表)以聚集方式組織時,是通過公共屬性的值為表聚集的依據。航空物探資料庫系統是以項目標識(PROJ_ID)建立聚集的,所有涉及項目標識的資料庫表直接引用項目標識聚集。航空物探聚集表空間與索引表空間相同。
三、資料庫參數設置
在資料庫創建前需要對如下資料庫參數進行設置,航空物探參數文件名為Initoraargs.ora,各種參數設置如下:
航空物探信息系統建設
四、內存設置
航空物探資料庫伺服器物理內存為4GB,除部分用於系統開銷外,其餘全部用於資料庫。
Oracle使用共享系統全局區(System Global Area,SGA)內存來管理內存和文件結構,包含DB_block_Buffers、DB_cache_size、Shared_pool_size、Log_Buffer參數。航空物探資料庫系統的全局區內存參數設置如下。
DB_block_Buffers參數為SGA中存儲區高速緩存的緩沖區數目,每個緩沖區的大小等於參數DB_block_size的大小,DB_block_Buffers=19200(約300 MB)。
Shared_pool_size參數為分配給共享SQL區的位元組數,是SGA大小的主要影響者,Shared_pool_size=1228800000(1.2GB)。
DB_cache_size參數是SGA大小和資料庫性能的最重要的決定因素。該值較高,可以提高系統的命中率,減少I/O,DB_cache_size=1024000000(1GB)。
Log_Buffer參數為重做日誌高速緩存大小,主要進行插入、刪除和修改回退操作,Log_buffer=5120000(5MB)。
五、優化設置
由於航空物探信息系統的採集軟體和應用軟體是採用MS.NET C#進行開發的,應用程序與資料庫之間的連接有傳統的ODBC和OLE DB兩種方式。為了支持ODBC在OLE DB技術上建立了相應的OLE DB到ODBC的調用轉換,而使用直接的OLE DB方式則不需轉換,從而提高處理速度。
在建立資料庫表時,參數Pctfree和Pctused設置不正確可能會導致數據出現行鏈接和行遷移現象,即同一行的數據被保存在不同的數據塊中。在進行數據查詢時,為了讀出這些數據,磁頭必須重新定位,這樣勢必會大大降低資料庫的執行速度。因此,在創建表時應充分估計到將來可能出現的數據變化,正確地設置這兩個參數,盡量減少資料庫中出現的行鏈接和行遷移現象。
航空物探資料採集資料庫表的插入、修改和刪除的頻率較高,Pctfree設置為20,Pctused設置為40;系統維護資料庫表相對穩定,Pctfree設置為10,Pctused設置為15;資料資料庫表除了增加數據外基本不進行修改和刪除操作,Pctfree設置為10,Pctused設置為5。
六、擴展性設置
多CPU和並行查詢PQO(Parallel Query Option)方式的利用:CPU的快速發展使得Oracle越來越重視對多CPU的並行技術的應用,一個資料庫的訪問工作可以用多個CPU相互配合來完成。對於多CPU系統盡量採用並行查詢選項方式進行資料庫操作。航空物探資料庫伺服器為2個CPU,在程序查詢中採用了並行查詢的方式。
在航空物探工作量統計、飛行小時統計、測量面積統計和岩石物性統計中,為了加快統計效率,在相應的查詢語句中增加了並行查詢語句。
隨著航空物探高精度測量程度的不斷提高,測量數據將越來越大。為了滿足航空物探查詢效率及發展,將航磁測量數據與校正後航磁測量數據按比例尺分1∶20 萬以下、20萬~50萬、1∶50萬以上分別存放3張不同的資料庫表。
七、創建資料庫
在完成資料庫布局、空間設置、內存設置、資料庫參數設置、擴展性設置和優化設置後,進行航空物探資料庫物理模型設計,即航空物探資料庫實體創建。由於航空物探空間資料庫邏輯模型是採用ESRI提供的ArcGIS UML構建的Geodatabase模型,因此,使用ESRI公司提供的CaseTools將航空物探數據UML模型圖轉成空間資料庫(Geodatabase)實體(圖2-14)。
航空物探屬性資料庫表(二維表)是採用Power Designer資料庫設計平台直接把資料庫關系模型生成資料庫腳本來創建的。
經過資料庫的概念設計、邏輯設計和物理設計,最終生成航空物探資料庫。
圖2-14 航空物探資料庫物理模型實現
八、空間數據的索引機制
對於海量的空間資料庫而言,資料庫的操作效率是關繫到資料庫成敗的關鍵問題。為了提高數據的訪問、檢索和顯示速度,數據在載入到資料庫時,要素類數據建立了空間索引,柵格數據構建了金字塔結構,對象類數據採用與資料庫直接聯接的訪問機制。
(一)空間索引
為了提高要素類數據的查詢性能,在建立航空物探空間資料庫時,創建了空間索引機制。常用的空間索引有格網索引、R樹索引、四叉樹索引等。Geodatabase採用格網索引方式。所謂格網索引是將空間區域劃分成適合大小的正方形格網,記錄每一個格網內所包含的空間實體(對象)以及每一個實體的封裝邊界范圍,即包圍空間實體的左下角和右上角坐標。當用戶進行空間查詢時,首先計算出用戶查詢對象所在格網,然後通過格網編號,就可以快速檢索到所需的空間實體。
確定適合的格網級數、單元大小是建立空間格網索引的關鍵。格網太大,在一個格網內有多個空間實體,查詢檢索的准確度降低。格網太小,則索引數據量成倍增長和冗餘,檢索的速度和效率較低。資料庫的每一數據層採用不同大小、不同級數的空間索引格網單元,但每層最多級數不能超過三級。格網單元的大小不是一個確定性的值,需要根據對象的大小確定。空間索引格網的大小與檢索准確度之間的關系如圖2-15所示。
選擇格網單元的大小遵循下列基本原則:
1)對於簡單要素的數據層,盡可能選擇單級索引格網。減少RDBMS搜索格網單元索引的級數,縮短空間索引搜索的過程,例如航跡線要素類。
圖2-15 索引格網大小與檢索准確度的關系
2)如果數據層中的要素封裝邊界大小變化比較大,應選擇2或3級索引格網。Geodatabase最多提供三級格網單元。每一要素封裝邊界在適合的級內,減少了每一封裝邊界有多個格網的可能性。在空間索引搜索過程中,RDBMS則必須搜索所有3個格網單元級,這將消耗大量的時間。
3)若用戶經常對圖層執行相同的查詢,最佳格網的大小應是平均查尋空間范圍的1.5倍。
4)格網的大小不能小於要素封裝邊界的平均大小,為了減少每個格網單元有多個要素封裝邊界的可能性,格網單元的大小應取平均格網單元的3倍。最佳格網單元的大小可能受圖層平均查詢的影響。
空間域是按照要素數據集定義的,空間索引格網是按照要素類設置的。它們都是在創建Geodatabase資料庫時設置,並一經設置,中間不許改變;所以一定要在充分分析數據的情況下確定它們的值。航空物探數據主要是簡單要素類,空間跨度為70°。根據上述原則,航空物探數據選擇單級索引格網,格網大小為20°。
(二)金字塔結構
金字塔結構的核心是將柵格數據逐級進行抽稀,形成多級解析度的重采樣數據,並將其分割成塊,按一定的文件格式(金字塔文件格式)存儲成磁碟文件;在以後進行圖像顯示處理時,只需將要顯示的部分所覆蓋的塊從磁碟文件直接讀進內存緩沖區顯示即可。從金字塔的所有層中尋找與所要求顯示的比例相近或匹配的一層,並將該層的從某一點起的一定范圍的圖像所覆蓋的所有塊載入到內存緩沖區,提取所需部分並形成圖像。
金字塔演算法(圖2-16)是通過獲取顯示時所需要的一定解析度的數據來提高顯示速度。使用金字塔數據格式後,在顯示全圖時僅需要顯示一個較低解析度的數據,這樣既能加快顯示速度,又不會影響顯示效果。放大圖像,盡管顯示圖像解析度提高,由於顯示區域減小,所以顯示速度不會下降。如果沒有為柵格數據建立金字塔數據,則每次顯示都會讀取整個數據,然後進行重采樣得到顯示所需要的解析度,明顯地降低了顯示速度。
圖2-16 金字塔壓縮示意圖
金字塔數據重采樣方式有:最近鄰法、雙線性內插和立方卷積。其中最近鄰法適用於離散數據,而雙線性內插法和立方卷積法適合於連續數據。
在ArcGIS Engine中提供了IRasterPyramid和IRasterPyramid2介面來實現金字塔數據的建立,而建立的數據保存在*.rrd格式的文件中。
(三)空間域定義
空間域是指數據的有效空間范圍,即Geodatabase資料庫的最大等效坐標的值域范圍,其定義主要是指比例系數和Min X、Min Y的計算。
因為使用整數比浮點數有更高的壓縮率,並且對整數進行二進制搜索比較快,所以多用戶Geodatabase以4位元組正整數存儲坐標,其最大值為32位正整數所能表示的范圍是21.4億(2147483647),整數的范圍稱為空間域。在創建Geodatabase資料庫時需要定義合適的比例系數。大的整數值將消耗大量的計算機物理內存,所以選定的比例系數最好不要大於必須的比例系數。空間域隨坐標系的單位變化而變化。
比例系數和空間域之間成反比例關系,比例系數越大(存儲單位越小),表達的空間域也越小。為了使目標數據都存儲在系統中,需要謹慎地設置比例系數。將目標數據的寬度和高度較適中的數值乘以比例系數,如果結果小於21.4億,則比例系數是合適的。
航空物探數據模型是為我國的航空物探行業數據建庫設計的,它支持的空間數據的坐標范圍為我國領土覆蓋的海陸空間,最低緯度為赤道。根據概念設計的分析,航空物探數據模型採用的是地理坐標系,坐標系單位是度,基準是Beijing_1954,要求存儲的坐標數據精度達到0.01 m。在赤道處,赤道圓周長為40075694.6 m,則每度弧長=40075694.6×100/360 cm=11132137.389 cm,即1 cm對應8.983000883E-8°。所以,航空物探數據模型的比例系數取為8.98E-8,即存儲單位為8.98E-8°,可滿足1 cm精度要求。
將空間域移動到目標數據范圍之前,首先找到空間域在存儲單位的中心位置,目的是在必要時向各個方向擴展。4位元組正整數可表示的坐標范圍:2147483647×8.98E-8=192.84°。我國的領土范圍是東經70°~140°,北緯0°~60°。所以,選取的比例系數是合適的。把空間域坐標系中心定為90°,然後,計算空間域的Min X、Min Y。
航空物探信息系統建設
航空物探信息系統建設
所以坐標的存儲數據是:
航空物探信息系統建設
航空物探信息系統建設
⑨ 如何進行模型參數的選擇
你說的情況我覺得可有幾個解決方案吧: 1. 模型數量不多的話,要變的參數的對應於其模型是固定的,那可用UDF來定義那些模型,要變的參數給出別名,做程序時查詢別名修改表達式就可以了; 2. 可用KF來做,情況跟用UDF差不多; 3. 如果模型多,可變數多,就用資料庫(大型還是小型的根據需要了)吧,把變數和值存在資料庫里,生產界面時把這些變數調入界面,用戶修改後用這些變數驅動模型就可以了。當然,建模型時要把相應的變數創建出來賦值給模型的那些p1、p2、p3…… 希望對你有幫助。
⑩ 簡述調整PID各參數的一般原則、調整方法和步驟。
一、參數調整一般規則:
由各個參數的控制規律可知,比例P使反應變快,微分D使反應提前,積分I使反應滯後。在一定范圍內,P,D值越大,調節的效果越好。各個參數的調節原則如下:
1、在輸出不振盪時,增大比例增益P。
2、在輸出不振盪時,減小積分時間常數Ti。
3、輸出不振盪時,增大微分時間常數Td。
二、PID控制器參數整定的方法:
1、理論計算整定法。它主要是依據系統的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接用,還必須通過工程實際進行調整和修改。
2、工程整定方法,它主要依賴工程經驗,直接在控制系統的試驗中進行,且方法簡單、易於掌握,在工程實際中被廣泛採用。
PID控制器參數的工程整定方法,主要有臨界比例法、反應曲線法和衰減法。三種方法各有其特點,其共同點都是通過試驗,然後按照工程經驗公式對控制器參數進行整定。現在一般採用的是臨界比例法。
利用該方法進行PID控制器參數的整定步驟如下:
(1)首先預選擇一個足夠短的采樣周期讓系統工作。
(2)僅加入比例控制環節,直到系統對輸入的階躍響應出現臨界振盪,記下這時的比例放大系數和臨界振盪周期。
(3)在一定的控制度下通過公式計算得到PID控制器的參數。
三、參數調整一般步驟:
1、確定比例增益。
P確定比例增益P時,首先去掉PID的積分項和微分項,一般是令Ti=0、Td=0,PID為純比例調節。
輸入設定為系統允許的最大值的60%~70%,由0逐漸加大比例增益P,直至系統出現振盪。
再反過來,從此時的比例增益P逐漸減小,直至系統振盪消失,記錄此時的比例增益P,設定PID的比例增益P為當前值的60%~70%。比例增益P調試完成。
2、確定積分時間常數Ti。
比例增益P確定後,設定一個較大的積分時間常數Ti的初值,然後逐漸減小Ti,直至系統出現振盪,之後在反過來,逐漸加大Ti,直至系統振盪消失。記錄此時的Ti,設定PID的積分時間常數Ti為當前值的150%~180%。積分時間常數Ti調試完成。
3、確定微分時間常數Td。
微分時間常數Td一般不用設定,為0即可。若要設定,與確定P和Ti的方法相同,取不振盪時的30%。
4、系統空載、帶載聯調,再對PID參數進行微調,直至滿足要求。
(10)物理模型如何進行參數調整擴展閱讀:
pid常用口訣:
參數整定找最佳,從小到大順序查。
先是比例後積分,最後再把微分加。
曲線振盪很頻繁,比例度盤要放大。
曲線漂浮繞大灣,比例度盤往小扳。
曲線偏離回復慢,積分時間往下降。
曲線波動周期長,積分時間再加長。
曲線振盪頻率快,先把微分降下來。
動差大來波動慢。微分時間應加長。
理想曲線兩個波,前高後低4比1。
一看二調多分析,調節質量不會低。