Saturday, November 20, 2010
Endnote FAQ [In-text Citation]
Inserting in-text citation of different styles into the same document is also one of my current problem when using bibliographic management program such as Zotero and Endnote.
Here is some discussion from Endnote's website. Instead of using manual editing you can use some techniques but not the perfect solution though.
http://community.thomsonreuters.com/t5/EndNote-How-To/Formatting-in-text-citation-brackets-paranthesis/m-p/7290
Thursday, October 7, 2010
A Web Site to Check the English Definition and Usage
http://www.wordreference.com/definition/
When doubted about the usage of words such as
as follows or as following
base on or based on
disability or disabled, etc.
Just type in the words and see the result in discussion forum.
There are many English experts there.
When doubted about the usage of words such as
as follows or as following
base on or based on
disability or disabled, etc.
Just type in the words and see the result in discussion forum.
There are many English experts there.
Wednesday, October 6, 2010
Table of mathematical symbols
This is useful source of information about mathematical notations or symbols reading and usage.
http://en.wikipedia.org/wiki/Table_of_mathematical_symbols
http://en.wikipedia.org/wiki/Table_of_mathematical_symbols
Sunday, September 12, 2010
Friday, September 10, 2010
เคล็ดลับการเซฟไฟล์ภาพจาก MATLAB ไปใช้กับโปรแกรมอื่นๆ
หากเราสร้าง Graph หรือ Figure ใน MATLAB แล้วต้องการเซฟไปใช้กับโปรแกรมอื่นๆให้ภาพออกมาสวยงามทำอย่างไร
ถ้าต้องการให้พิมพ์ (Hard copy) ออกมาสวยงาม ให้เลือก File > Save As แล้วเลือกเป็น EPS ไฟล์
จากนั้นหากต้องการนำไปใช้ใน Word ตัวโปรแกรม Word จะมีตัวเลือกให้ Import ตัว EPS ไฟล์เข้าไปได้
การแสดงผลบนหน้าจอจะไม่ค่อยชัดเจนมากนัก แต่ว่าเวลาพิมพ์ออกมาจะสวยสุดครับ
ข้อมูลเกี่ยวกับ EPS file format หาอ่านได้ใน internet ทั่วไป
ถ้าต้องการให้พิมพ์ (Hard copy) ออกมาสวยงาม ให้เลือก File > Save As แล้วเลือกเป็น EPS ไฟล์
จากนั้นหากต้องการนำไปใช้ใน Word ตัวโปรแกรม Word จะมีตัวเลือกให้ Import ตัว EPS ไฟล์เข้าไปได้
การแสดงผลบนหน้าจอจะไม่ค่อยชัดเจนมากนัก แต่ว่าเวลาพิมพ์ออกมาจะสวยสุดครับ
ข้อมูลเกี่ยวกับ EPS file format หาอ่านได้ใน internet ทั่วไป
Tuesday, September 7, 2010
Traffic Analysis Tools by FHWA
Source of information for traffic analysis tool and traffic simulation.
http://ops.fhwa.dot.gov/trafficanalysistools/
In particular, Volume IV is introduction to CORSIM.
http://ops.fhwa.dot.gov/trafficanalysistools/
In particular, Volume IV is introduction to CORSIM.
Sunday, September 5, 2010
ปัญหา (เล็กน้อยๆ) ที่อาจเกิดขึ้นจากการทำ Cross Validation กับข้อมูลที่มี Categorical Variables
ถ้าทำ 10-fold Cross Validation มันอาจบังเิอิญได้ว่าตอนที่เราเลือก 90% data มาทำโมเดล แล้วไปทดสอบกับ 10% ที่เหลือนั้น
เจ้า 90% data ที่นำมาสร้างโมเดล หากตัว categorical variable ที่เรานำมาสร้างโมเดลนั้น มันไม่ครอบคลุมทั้งหมด
เช่น ถ้าตัวแปรเป็นสถานะภาพในครอบครัว เช่น ผู้อาศัย แต่ตอนทำโมเดล 90% ไม่มีข้อมูลที่เป็นผู้อาศัยเลย ดังนั้นเวลาเรานำไปทดสอบกับข้อมูล 10% ที่อาจมีข้อมูลที่มีสถานภาพเป็นผู้อาศัย มันก็อาจเกิดข้อผิดพลาดได้ (สำหรับ Classification Tree ใน MATLAB จะขึ้น Error แต่ถ้าเป็นโปรแกรมที่เขียนขึ้นเองอาจไม่ขึ้น error เพราะตัวโค๊ดอาจจะปัดให้เป็น Branch Not in Category เลยแต่ผลที่ได้อาจไม่น่าเชื่อถือ ถ้าจริงๆแล้วมันควรตกอีกด้านหนึ่ง แต่เราไม่ได้มี data ไปสร้างโมเดลให้มัน)
วิธีแก้ไขตอนนี้ยังคิดไม่ออกทั้งหมด แต่ว่าขึ้นกับการสุ่มตัว sample ถ้าสุ่มได้ครอบคลุมก็จะลดปัญหาไปได้ (แต่ในกรณีข้อมูลมีตัวแปร category เยอะ และมีค่าหลากหลาย อาจสุ่มได้ยากกว่า) แต่ถ้ามานั่งเลือกเอง data เยอะๆ คงจะเสียเวลาและ งงๆ อาจต้องอ่านงานวิจัยเพิ่มวิธีการสุ่มให้ครอบคลุม
อีกวิธีหนึ่งที่อาจลดปัญหาได้บ้าง คือการใช้ 5-fold cross classification แทน (80%/20%) มีความน่าจะเป็นที่ปัญหาจะลดลงได้ แต่ก็ไม่รับประกัน (ใน MATLAB ปกติจะเป็น 10-fold)
อีกวิธีที่คิดได้คือเลือกข้อมูลที่เป็น category ย่อย ที่มีจำนวน records น้อย ออกมาก่อนแล้ว assign ให้มันอยู่ในกลุ่ม 90% เสมอ ก็จะไม่เกิดกรณีเจอ unrecognized categorical variable ตอนทดสอบ (แต่ถ้าใช้ MATLAB ต้องทำแบบ manual เพราะโค๊ดมันคงไม่ทำให้ หรือไม่ก็ต้องไปแ้ก้ตัวโค๊ด)
วิธีสุดท้าย อาจไม่ใช้ v-fold cross validation เลย ถ้าคิดว่าข้อมูลเยอะพอ คือเลือกข้อมูลที่ครบถ้วน แล้วทดสอบทีเดียว
สุดท้ายนี้ปัญหานี้จะไม่เกิดขึ้นถ้าเป็น continuous variable เพราะโดยปกติจะแบ่ง Branch ซ้าย-ขวา โดยใช้เครื่องหมายเช่น น้อยกว่าหรือเท่ากับ และมากกว่า ซึ่งจะครอบคลุม Range ของข้อมูลทั้งหมดอยู่แล้ว แต่ก็ยังไม่ป้องกันปัญหาที่อาจจะเกิดจากการไม่ include หรือ neglect ตัวแปรบางตัวที่ไม่ได้มีอยู่ใน 90% data อยู่ดี
คิมครับ ลองเช็คดูว่าโค๊ด Python ของคิม ถ้าเจอกรณีนี้มันจะขึ้น Error หรือไม่อย่างไรครับ
เจ้า 90% data ที่นำมาสร้างโมเดล หากตัว categorical variable ที่เรานำมาสร้างโมเดลนั้น มันไม่ครอบคลุมทั้งหมด
เช่น ถ้าตัวแปรเป็นสถานะภาพในครอบครัว เช่น ผู้อาศัย แต่ตอนทำโมเดล 90% ไม่มีข้อมูลที่เป็นผู้อาศัยเลย ดังนั้นเวลาเรานำไปทดสอบกับข้อมูล 10% ที่อาจมีข้อมูลที่มีสถานภาพเป็นผู้อาศัย มันก็อาจเกิดข้อผิดพลาดได้ (สำหรับ Classification Tree ใน MATLAB จะขึ้น Error แต่ถ้าเป็นโปรแกรมที่เขียนขึ้นเองอาจไม่ขึ้น error เพราะตัวโค๊ดอาจจะปัดให้เป็น Branch Not in Category เลยแต่ผลที่ได้อาจไม่น่าเชื่อถือ ถ้าจริงๆแล้วมันควรตกอีกด้านหนึ่ง แต่เราไม่ได้มี data ไปสร้างโมเดลให้มัน)
วิธีแก้ไขตอนนี้ยังคิดไม่ออกทั้งหมด แต่ว่าขึ้นกับการสุ่มตัว sample ถ้าสุ่มได้ครอบคลุมก็จะลดปัญหาไปได้ (แต่ในกรณีข้อมูลมีตัวแปร category เยอะ และมีค่าหลากหลาย อาจสุ่มได้ยากกว่า) แต่ถ้ามานั่งเลือกเอง data เยอะๆ คงจะเสียเวลาและ งงๆ อาจต้องอ่านงานวิจัยเพิ่มวิธีการสุ่มให้ครอบคลุม
อีกวิธีหนึ่งที่อาจลดปัญหาได้บ้าง คือการใช้ 5-fold cross classification แทน (80%/20%) มีความน่าจะเป็นที่ปัญหาจะลดลงได้ แต่ก็ไม่รับประกัน (ใน MATLAB ปกติจะเป็น 10-fold)
อีกวิธีที่คิดได้คือเลือกข้อมูลที่เป็น category ย่อย ที่มีจำนวน records น้อย ออกมาก่อนแล้ว assign ให้มันอยู่ในกลุ่ม 90% เสมอ ก็จะไม่เกิดกรณีเจอ unrecognized categorical variable ตอนทดสอบ (แต่ถ้าใช้ MATLAB ต้องทำแบบ manual เพราะโค๊ดมันคงไม่ทำให้ หรือไม่ก็ต้องไปแ้ก้ตัวโค๊ด)
วิธีสุดท้าย อาจไม่ใช้ v-fold cross validation เลย ถ้าคิดว่าข้อมูลเยอะพอ คือเลือกข้อมูลที่ครบถ้วน แล้วทดสอบทีเดียว
สุดท้ายนี้ปัญหานี้จะไม่เกิดขึ้นถ้าเป็น continuous variable เพราะโดยปกติจะแบ่ง Branch ซ้าย-ขวา โดยใช้เครื่องหมายเช่น น้อยกว่าหรือเท่ากับ และมากกว่า ซึ่งจะครอบคลุม Range ของข้อมูลทั้งหมดอยู่แล้ว แต่ก็ยังไม่ป้องกันปัญหาที่อาจจะเกิดจากการไม่ include หรือ neglect ตัวแปรบางตัวที่ไม่ได้มีอยู่ใน 90% data อยู่ดี
คิมครับ ลองเช็คดูว่าโค๊ด Python ของคิม ถ้าเจอกรณีนี้มันจะขึ้น Error หรือไม่อย่างไรครับ
Tuesday, August 31, 2010
วิธีง่ายๆในการแบ่ง Data ออกเป็น k ส่วน
สมมุติว่าเรามีข้อมูลเป็น record อยู่ทั้งหมดจำนวน n records
แล้วเราต้องการแบ่งข้อมูลนี้ออกเป็น k ส่วน
ตัวอย่างเช่น ถ้าเราต้องการทำ V-fold Cross-Validation เช่นต้องการแบ่งข้อมูลจำนวน 2000 ระเบียนออกเป็น 10 ส่วนโดยส่วนหนึ่งเอาไว้สร้าง model กับ อีกส่วนไว้ validate model เป็นต้น
ในกรณีนี้ n = 2000 และ k = 10 เป็นต้น
มีวิธีทำง่ายๆ ใน MATLAB ดังนี้
แล้วเราต้องการแบ่งข้อมูลนี้ออกเป็น k ส่วน
ตัวอย่างเช่น ถ้าเราต้องการทำ V-fold Cross-Validation เช่นต้องการแบ่งข้อมูลจำนวน 2000 ระเบียนออกเป็น 10 ส่วนโดยส่วนหนึ่งเอาไว้สร้าง model กับ อีกส่วนไว้ validate model เป็นต้น
ในกรณีนี้ n = 2000 และ k = 10 เป็นต้น
มีวิธีทำง่ายๆ ใน MATLAB ดังนี้
- สร้าง random number ขึ้นมา 2000 ตัวก่อน, rand(2000,1)
- scale up มันด้วย k, rand(2000,1)*k
- ปัดตัวเลขขึ้นเป็น integer ถัดไป, ceil(rand(2000,1)*k)
สรุปคำสั่งที่ต้องใช้คือ
ceil(rand(n,1)*k)
ตัวอย่างการแบ่งข้อมูล 10 ระเบียนออกเป็น 3 กลุ่ม
>> ceil(rand(10,1)*3)
ans =
2
1
1
1
3
1
3
2
3
2
Note: แต่คิดไปคิดมา ถ้าไม่ต้องการ Random ละก็ ให้มัน mod ตัวเลข 1 ถึง n ก็จะได้เหมือนกันครับ
เช่น mod(1:10,3)+1 จะไ้ด้ผลลัพธ์ประมาณนี้ครับ
2 3 1 2 3 1 2 3 1 2
>> ceil(rand(10,1)*3)
ans =
2
1
1
1
3
1
3
2
3
2
Note: แต่คิดไปคิดมา ถ้าไม่ต้องการ Random ละก็ ให้มัน mod ตัวเลข 1 ถึง n ก็จะได้เหมือนกันครับ
เช่น mod(1:10,3)+1 จะไ้ด้ผลลัพธ์ประมาณนี้ครับ
2 3 1 2 3 1 2 3 1 2
Wednesday, June 2, 2010
Some Tutorial for Creating Scoring Matrices
http://www.biorecipes.com/Dayhoff/code.html (for PAM)
http://www.it.cabri.org/training/bcd/Curric/PrwAli/nodeD.html (for PAM and BLOSUM, etc)
http://www.it.cabri.org/training/bcd/Curric/PrwAli/nodeD.html (for PAM and BLOSUM, etc)
Friday, May 21, 2010
Recommended Book: Statistical methods in bioinformatics
This book is recommended for studying about sequence, statistical methods in bioinformatics.
Statistical methods in bioinformatics
by Warren J. Ewens Gregory Grant
Statistical methods in bioinformatics
by Warren J. Ewens Gregory Grant
Thursday, May 20, 2010
หลักการเลือกจำนวน clusters ที่เหมาะสมสำหรับการทำ Clustering
ในการแบ่งกลุ่ม clusters นั้นบางครั้งเราอาจจะต้องกำหนดจำนวน clusters ที่เหมาะสม โดยเป็นค่า parameter หนึ่งของการคำนวณ
เช่นการทำ k-means clustering ต้องกำหนดจำนวนกลุ่มให้ algorithm ก่อน
ดูหลักการได้ใน
หลักการเลือกจำนวน clusters ที่เหมาะสมสำหรับการทำ clustering (wikipedia)
Note: ถ้าเอาไป apply กับ CART ก็อาจใช้กำหนดจำนวน node หรือ ระดับการ prune ที่เหมาะสมได้
เช่นการทำ k-means clustering ต้องกำหนดจำนวนกลุ่มให้ algorithm ก่อน
ดูหลักการได้ใน
หลักการเลือกจำนวน clusters ที่เหมาะสมสำหรับการทำ clustering (wikipedia)
Note: ถ้าเอาไป apply กับ CART ก็อาจใช้กำหนดจำนวน node หรือ ระดับการ prune ที่เหมาะสมได้
Subscribe to:
Comments (Atom)

